@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--primary: #4f46e5;--primary-dark: #4338ca;--primary-glow: rgba(79, 70, 229, .15);--primary-gradient: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%);--secondary: #10b981;--secondary-dark: #059669;--background: #f8fafc;--surface: #ffffff;--surface-2: #f1f5f9;--text-main: #334155;--text-dark: #0f172a;--text-muted: #64748b;--text-subtle: #94a3b8;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .05), 0 4px 6px -4px rgb(0 0 0 / .05);--shadow-float: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-border: 0 1px 0 0 rgba(0,0,0,.05);--border: #e2e8f0;--border-strong: #cbd5e1;--border-focus: rgba(79, 70, 229, .4);--radius-sm: 6px;--radius: 12px;--radius-lg: 16px;--radius-xl: 24px;--sidebar-width: 260px;--header-height: 70px}[data-theme=dark]{--primary: #6366f1;--primary-dark: #4f46e5;--primary-glow: rgba(99, 102, 241, .2);--background: #0b0f19;--surface: #111827;--surface-2: #1f2937;--text-main: #cbd5e1;--text-dark: #f8fafc;--text-muted: #94a3b8;--text-subtle: #64748b;--border: #334155;--border-strong: #475569;--border-focus: rgba(99, 102, 241, .5);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-border: 0 1px 0 0 rgba(255,255,255,.05)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%}html{scroll-behavior:smooth}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--background);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow:hidden;font-size:.85rem}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-weight:700;color:var(--text-dark);line-height:1.2;letter-spacing:-.02em}.dashboard-layout{display:flex;height:100vh;height:100dvh;width:100vw;overflow:hidden;background:var(--background)}.sidebar{width:var(--sidebar-width);height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:50;position:relative}.main-content-wrapper{flex:1;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;position:relative}.top-header{height:var(--header-height);background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:40}.main-scroll-area{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.5rem;background:var(--background)}.sidebar-logo{height:var(--header-height);display:flex;align-items:center;padding:0 1.5rem;border-bottom:1px solid var(--border);font-family:Outfit,sans-serif;font-weight:800;font-size:1.4rem;color:var(--text-dark);gap:.75rem}.sidebar-menu{padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.25rem;flex:1;overflow-y:auto}.sidebar-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);color:var(--text-muted);font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s ease;border:none;background:transparent;width:100%;text-align:left}.sidebar-item:hover{background:var(--surface-2);color:var(--text-main)}.sidebar-item.active{background:var(--primary-glow);color:var(--primary);font-weight:700}.glass-card,.stat-card,.table-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);position:relative}.stat-card{padding:1.5rem;display:flex;flex-direction:column;transition:all .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--border-strong)}.table-card{overflow:hidden}.table-responsive{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.8rem;background:var(--surface)}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border);color:var(--text-main)}.data-table th{font-weight:800;color:var(--text-muted);text-transform:uppercase;font-size:.65rem;letter-spacing:.5px;background:var(--surface-2)}.data-table tr:hover td{background:var(--surface-2)}.compare-table{width:100%;border-collapse:collapse;font-size:.8rem;background:var(--surface)}.compare-table th,.compare-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border);color:var(--text-main)}.compare-table th{font-weight:800;color:var(--text-muted);text-transform:uppercase;font-size:.65rem;letter-spacing:.5px;background:var(--surface-2)}.compare-table tr:hover td{background:var(--surface-2)}@media screen and (max-width: 768px){.data-table,.data-table thead,.data-table tbody{display:block;width:100%}.data-table thead tr{display:none}.data-table tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"supplier amount" "invoice payment" "date status";border:1px solid var(--primary-light);margin-bottom:.75rem;border-radius:12px;background:var(--surface);padding:.75rem 1rem;gap:4px 12px;box-shadow:0 4px 15px -5px #00000026}.data-table td{display:flex;border:none!important;padding:0!important;min-height:auto!important;text-align:left!important;align-items:center;background:transparent!important}.data-table td:before{display:none!important}.compare-table,.compare-table thead,.compare-table tbody{display:block;width:100%}.compare-table thead tr{display:none}.compare-table tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name retail" "supplier cost" "date diff";gap:4px 12px;padding:.75rem 1rem;border-bottom:1px solid var(--border);margin:0;background:var(--surface);transition:background .15s ease}.compare-table td{display:flex;border:none!important;padding:0!important;min-height:auto!important;text-align:left!important;align-items:center;background:transparent!important}.compare-table td:before{display:none!important}.compare-table td:nth-child(1){grid-area:name;font-size:.85rem;font-weight:800;color:var(--text-main);align-items:flex-start;flex-direction:column}.compare-table td:nth-child(2){grid-area:supplier;justify-content:flex-start}.compare-table td:nth-child(3){grid-area:date;justify-content:flex-start;font-size:.65rem;color:var(--text-muted);font-weight:600;margin-top:2px}.compare-table td:nth-child(4){grid-area:retail;justify-content:flex-end;font-size:.8rem}.compare-table td:nth-child(5){grid-area:cost;justify-content:flex-end;font-size:.95rem;font-weight:900}.compare-table td:nth-child(6){grid-area:diff;justify-content:flex-end;font-size:.75rem;margin-top:2px}.compare-table td[data-label="Giá Bán"]:before,.compare-table td[data-label="Giá Nhập"]:before{content:attr(data-label) ": ";display:inline-block!important;font-size:.6rem;color:var(--text-muted);font-weight:600;margin-right:4px;text-transform:uppercase}.data-table td:nth-child(1){grid-area:date;font-size:.7rem;color:var(--text-muted);font-weight:600}.data-table td:nth-child(2){grid-area:supplier;font-size:.85rem;font-weight:800;color:var(--text-main)}.data-table td:nth-child(3){grid-area:invoice;font-size:.75rem;font-family:monospace;font-weight:800;color:var(--text-subtle)}.data-table td:nth-child(4){grid-area:payment;display:flex!important;justify-content:flex-end;font-size:.65rem;text-transform:uppercase;font-weight:900;color:var(--text-muted)}.data-table td:nth-child(5),.data-table td:nth-child(6),.data-table td:nth-child(7),.data-table td:nth-child(8){display:none!important}.data-table td:nth-child(9){grid-area:amount;justify-content:flex-end;font-size:.95rem;font-weight:900;color:var(--primary)}.data-table td:nth-child(10){grid-area:status;justify-content:flex-end;align-items:flex-end}}.modern-table{width:100%}.modern-table thead{display:none}.modern-table tbody{display:block;width:100%}.modern-table tr{display:grid;grid-template-columns:auto auto 1fr auto auto;grid-template-areas:"name name name name action" "code expiry . price promo";gap:4px 12px;padding:.75rem 1rem;border-bottom:1px solid var(--border);margin:0;background:var(--surface);transition:background .15s ease}.modern-table tr:hover{background:var(--surface-2)}.modern-table td{padding:0;border:none;display:flex;align-items:center;font-size:.85rem;color:var(--text-main)}.modern-table td:nth-child(1){grid-area:code;color:var(--text-muted);font-size:.75rem}.modern-table td:nth-child(2){grid-area:name;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.95rem;color:var(--primary-dark)}.modern-table td:nth-child(3){grid-area:price;color:var(--secondary-dark);font-weight:800;justify-content:flex-end;font-size:.95rem}.modern-table td:nth-child(4){grid-area:promo;justify-content:flex-end}.modern-table td:nth-child(5){grid-area:expiry;justify-content:flex-start}.modern-table td:nth-child(6){grid-area:action;justify-content:flex-end}.modern-table td[data-label="Giá Nhập"]:before,.modern-table td[data-label=Kho]:before{content:attr(data-label) ": ";font-size:.6rem;color:var(--text-muted);font-weight:600;margin-right:4px;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-sm);font-weight:600;font-size:.85rem;border:1px solid var(--border);cursor:pointer;transition:all .2s ease;background:var(--surface);color:var(--text-main);box-shadow:var(--shadow-sm)}.btn:hover{background:var(--surface-2);color:var(--text-dark)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:#fff;border:none}.btn-primary:hover{background:var(--primary-dark);color:#fff;box-shadow:var(--shadow)}.btn-icon{padding:.5rem;border-radius:var(--radius-sm)}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.85rem;font-weight:600;color:var(--text-main);margin-bottom:.4rem}.form-control{width:100%;padding:.6rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-dark);font-size:.85rem;font-family:inherit;transition:all .2s ease;outline:none;box-shadow:var(--shadow-sm)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--border-focus)}.form-control::placeholder{color:var(--text-subtle)}.badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:700;letter-spacing:.02em}.badge-blue{color:#2563eb;background:#eff6ff}.badge-green{color:#059669;background:#ecfdf5}.badge-red{color:#dc2626;background:#fef2f2}.badge-yellow{color:#d97706;background:#fffbeb}.badge-violet{color:#7c3aed;background:#f5f3ff}.badge-sky{color:#0284c7;background:#f0f9ff}[data-theme=dark] .badge-blue{background:#2563eb26;color:#60a5fa}[data-theme=dark] .badge-green{background:#10b98126;color:#34d399}[data-theme=dark] .badge-red{background:#ef444426;color:#f87171}[data-theme=dark] .badge-yellow{background:#f59e0b26;color:#fbbf24}[data-theme=dark] .badge-violet{background:#8b5cf626;color:#a78bfa}[data-theme=dark] .badge-sky{background:#0ea5e926;color:#38bdf8}.fab-container{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:1rem;z-index:50}.fab-btn{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:var(--shadow-float);transition:all .3s cubic-bezier(.4,0,.2,1);color:#fff}.fab-btn svg{transition:all .3s ease}.fab-btn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 25px 30px -5px #00000026}.fab-btn:active{transform:translateY(0) scale(.95)}.fab-primary{background:var(--primary-gradient)}.fab-secondary{background:var(--surface);color:var(--primary);border:1px solid var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.animate-slide-right{animation:slideInRight .3s cubic-bezier(.4,0,.2,1) forwards}.text-gradient{background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.w-full{width:100%}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.mobile-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:45;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media (max-width: 1024px){.fab-container{bottom:2.5rem;right:1.25rem}.fab-btn{width:46px;height:46px}.fab-btn svg{width:20px!important;height:20px!important}.sidebar{position:fixed;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.mobile-overlay.open{display:block}.main-scroll-area{padding:.75rem}.modern-table tr{padding:.6rem;gap:4px 8px}.modern-table td:nth-child(1){font-size:.65rem}.modern-table td:nth-child(2){font-size:.85rem}.modern-table td:nth-child(3){font-size:.85rem}.table-card{border-radius:var(--radius-sm)}}
