:root{--blue:#2563eb;--slate-950:#020617;--slate-50:#f8fafc}
*{box-sizing:border-box} body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto; background:var(--slate-50); color:#0f172a}
.app{display:flex;min-height:100vh}
.sidebar{width:260px;background:var(--slate-950);color:#cbd5e1;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}
.sidebar .brand{padding:22px 20px;border-bottom:1px solid #1e293b;display:flex;gap:10px;align-items:center}
.brand b{color:#fff;font-size:18px;letter-spacing:.5px}
.nav{padding:12px;display:flex;flex-direction:column;gap:6px;flex:1}
.nav button{all:unset;padding:12px 14px;border-radius:12px;display:flex;gap:10px;align-items:center;cursor:pointer;color:#94a3b8}
.nav button.active{background:#1e293b;color:#fff}
.main{flex:1;display:flex;flex-direction:column;min-width:0}
.topbar{height:64px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:10}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.pill{font-size:11px;padding:4px 8px;border-radius:999px;font-weight:600}
.p-tiep_nhan{background:#dbeafe;color:#1d4ed8}.p-dang_giat{background:#fef3c7;color:#92400e}.p-say_kho{background:#ede9fe;color:#6d28d9}.p-ui_do{background:#fce7f3;color:#9d174d}.p-san_sang{background:#dcfce7;color:#166534}.p-da_giao{background:#f1f5f9;color:#475569}
.table{width:100%;border-collapse:collapse}.table th{font-size:12px;color:#64748b;text-transform:uppercase;text-align:left;padding:10px}.table td{padding:12px 10px;border-top:1px solid #f1f5f9;font-size:14px}
.bottom-nav{display:none}
@media(max-width:900px){
  .sidebar{display:none}
  .kpi{grid-template-columns:repeat(2,1fr)}
  .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:#020617;color:#94a3b8;justify-content:space-around;padding:8px 0 18px;border-top:1px solid #1e293b;z-index:30}
  .bottom-nav button{all:unset;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:11px}
  .bottom-nav button.active{color:#fff}
  .main{padding-bottom:80px}
}
.btn{all:unset;background:var(--blue);color:#fff;padding:10px 14px;border-radius:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.btn-ghost{all:unset;background:#f1f5f9;color:#0f172a;padding:10px 14px;border-radius:12px;cursor:pointer}
.modal{position:fixed;inset:0;background:rgba(15,23,42,.5);display:none;align-items:center;justify-content:center;z-index:50;padding:16px}
.modal.open{display:flex}
.modal-box{background:#fff;border-radius:20px;max-width:560px;width:100%;max-height:90vh;overflow:auto;padding:20px}
