:root{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#24303a;background:#f5f7f8}*{box-sizing:border-box}body{margin:0}header{background:#132f35;color:white;display:flex;justify-content:space-between;align-items:center;padding:25px max(4vw,20px)}header small{letter-spacing:.22em;color:#c9e3e0}h1{margin:.25rem 0 0;font-size:1.75rem}h2{font-size:1.15rem}main{max-width:1250px;margin:28px auto;padding:0 18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stats article,.panel{background:white;border:1px solid #e1e7e7;border-radius:12px;padding:22px;margin-bottom:18px}.stats article{display:flex;flex-direction:column;gap:10px}.stats span,.muted{color:#758184;font-size:.85rem}.stats b{font-size:2rem}.stats b.small{font-size:1rem}.toolbar{display:flex;gap:14px;flex-wrap:wrap}.toolbar label{flex:1;min-width:190px}label{display:flex;flex-direction:column;gap:8px;font-size:.85rem}select,input{padding:12px;border:1px solid #d4dbdd;border-radius:8px;min-width:0;background:white;width:100%;font:inherit}.chart{height:360px;margin-top:22px}.overflow{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}td,th{padding:12px 10px;text-align:left;border-bottom:1px solid #ebeeee}th{color:#667478;font-weight:600}a{color:#087b74;text-decoration:none}button{background:#087b74;color:white;border:0;border-radius:8px;padding:12px 22px;cursor:pointer;font-weight:600}.secondary{background:#315057}.error{color:#b63337}.alert{background:#fff0ef;padding:15px;border-radius:8px}.login{max-width:400px;margin:12vh auto;background:white;border:1px solid #e1e7e7;border-radius:16px;padding:36px}.login form{display:grid;gap:20px;margin-top:26px}@media(max-width:750px){.stats{grid-template-columns:1fr}.chart{height:290px}}
.chart-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px}
.chart-controls h2{margin:0 0 4px}.chart-controls p{margin:0}
.chart-buttons{display:flex;gap:8px;flex-wrap:wrap}.chart-buttons button{padding:9px 13px}
.product-toggles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:7px;margin-top:16px;max-height:240px;overflow:auto;padding:6px;border:1px solid #e1e7e7;border-radius:9px}
.product-toggle{display:flex;flex-direction:row;align-items:center;gap:8px;padding:6px 8px;cursor:pointer;min-width:0}
.product-toggle input{width:17px;height:17px;flex:none;accent-color:#087b74}.product-toggle span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-color{width:10px;height:10px;flex:none;border-radius:50%}.chart{height:450px}
