*{box-sizing:border-box}body{color:#172033;background:#f4f6fb;margin:0;font-family:Inter,system-ui,Arial}button,input,select{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:flex}.sidebar{color:#fff;background:linear-gradient(#111827,#312e81,#172033);flex-direction:column;width:250px;padding:20px 14px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:8px 10px 24px;display:flex}.logo,.loginLogo{background:linear-gradient(135deg,#ec4899,#7c3aed);border-radius:12px;place-items:center;width:42px;height:42px;font-size:22px;font-weight:800;display:grid}.brand strong{font-size:19px;display:block}.brand small{color:#c7d2fe}nav{gap:5px;display:grid}nav a{color:#dbeafe;border-radius:10px;align-items:center;gap:12px;padding:12px;text-decoration:none;display:flex}nav a.active,nav a:hover{color:#fff;background:linear-gradient(90deg,#ec4899,#7c3aed)}.sideUser{border-top:1px solid #fff2;margin-top:auto;padding:14px 8px}.sideUser b,.sideUser small{display:block}.sideUser small{color:#cbd5e1;margin:3px 0 10px}.sideUser button{color:#fda4af;background:0 0;border:0;padding:0}main{width:calc(100% - 250px);min-width:0;margin-left:250px}.topbar{z-index:5;background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:76px;padding:0 28px;display:flex;position:sticky;top:0}.topbar h1{margin:0;font-size:22px}.topbar span{color:#64748b;font-size:12px}.userPill{background:#f1f5f9;border-radius:999px;padding:9px 13px;font-size:12px}.content{max-width:1600px;margin:auto;padding:25px}.pageTitle{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.pageTitle h2{margin:0;font-size:23px}.pageTitle p{color:#64748b;margin:5px 0 0;font-size:13px}.stats{grid-template-columns:repeat(5,1fr);gap:15px;margin-bottom:20px;display:grid}.stat,.card{background:#fff;border:1px solid #e7eaf0;border-radius:15px;padding:18px;box-shadow:0 5px 20px #0f172a08}.stat{align-items:center;gap:14px;display:flex}.statIcon{color:#6d28d9;background:#ede9fe;border-radius:12px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.stat small{color:#64748b;display:block}.stat strong{margin-top:4px;font-size:20px;display:block}.toolbar{gap:10px;margin-bottom:14px;display:flex}.toolbar input{max-width:500px}.btn{color:#334155;background:#fff;border:1px solid #d8dee9;border-radius:9px;padding:9px 14px}.btn:hover{background:#f8fafc}.btn.primary{color:#fff;background:#4f46e5;border-color:#4f46e5}.btn.danger{color:#dc2626;border-color:#fecaca}.btn.small{padding:6px 9px;font-size:12px}.wide{width:100%}.tableWrap{background:#fff;border:1px solid #e7eaf0;border-radius:14px;margin-bottom:24px;overflow:auto}.tableWrap table{border-collapse:collapse;width:100%;min-width:750px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf0f5;padding:11px 13px;font-size:13px}th{color:#475569;background:#f8fafc;font-weight:700}.actions{gap:5px;display:flex}.empty{text-align:center;color:#94a3b8;padding:30px}.formGrid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.formGrid label,.saleTotals label{color:#475569;gap:6px;font-size:12px;display:grid}input,select{background:#fff;border:1px solid #d7dce5;border-radius:8px;outline:none;width:100%;padding:9px 10px}input:focus,select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f120}.modalActions,.saleTotals{justify-content:flex-end;align-items:end;gap:10px;margin-top:18px;display:flex}.saleTotals label{width:180px}.overlay{z-index:30;background:#0f172a88;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(850px,100%);max-height:90vh;padding:20px;overflow:auto;box-shadow:0 20px 60px #0003}.modalHead{justify-content:space-between;align-items:center;margin-bottom:18px;font-size:18px;display:flex}.modalHead button{background:0 0;border:0;font-size:25px}.alert{color:#047857;background:#ecfdf5;border-radius:9px;justify-content:space-between;margin-bottom:14px;padding:11px 14px;display:flex}.alert.error{color:#b91c1c;background:#fef2f2}.alert button{background:0 0;border:0}.badge{color:#166534;background:#dcfce7;border-radius:999px;padding:4px 8px;font-size:11px}.badge.danger{color:#991b1b;background:#fee2e2}.dangerText{color:#dc2626}.login{background:linear-gradient(135deg,#eef2ff,#fdf2f8);place-items:center;min-height:100vh;padding:20px;display:grid}.loginCard{background:#fff;border-radius:20px;width:min(420px,100%);padding:32px;box-shadow:0 20px 70px #312e8120}.loginLogo{margin:auto}.loginCard h1{text-align:center;margin:15px 0 5px}.loginCard>p,.loginCard>small{text-align:center;color:#64748b;display:block}.loginCard label{gap:6px;margin:15px 0;font-size:13px;display:grid}.loading{text-align:center;padding:80px}.jsonReport{white-space:pre-wrap;overflow:auto}.reportSelect{width:auto;margin-right:8px}.purchaseForm{align-items:end}@media (width<=1100px){.stats{grid-template-columns:repeat(3,1fr)}}@media (width<=800px){.sidebar{width:72px;padding:12px 8px}.brand div:last-child,nav a:not(.active):after,nav a{font-size:0}.brand{justify-content:center}.brand div:last-child{display:none}nav a{justify-content:center}.sideUser{font-size:0}main{width:calc(100% - 72px);margin-left:72px}.topbar{padding:0 15px}.userPill{display:none}.content{padding:15px}.stats{grid-template-columns:repeat(2,1fr)}.formGrid{grid-template-columns:1fr 1fr}}@media (width<=520px){.stats,.formGrid{grid-template-columns:1fr}.pageTitle{flex-direction:column;align-items:flex-start}.topbar h1{font-size:18px}}@media print{.sidebar,.topbar,.btn,.pageTitle button,.reportSelect{display:none!important}main{width:100%;margin:0}.content{padding:0}.card,.tableWrap{box-shadow:none}}
