*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:#f5f6f8;color:#1f2937}.app-shell{max-width:1280px;margin:0 auto;padding:20px 16px 40px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}h1{margin:0;font-size:22px}h2{margin:0;font-size:15px}p{margin:4px 0 0;color:#64748b;font-size:11px}.pill{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #dbe2ea;font-size:11px}.grid{display:grid;gap:16px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:16px;margin-bottom:16px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.controls{display:flex;gap:7px;flex-wrap:wrap}button,input,select{font:inherit;font-size:12px;padding:8px 9px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155}button{cursor:pointer}.bar-chart{height:250px;display:flex;align-items:flex-end;gap:7px;border-bottom:1px solid #e2e8f0;padding:15px 5px 0}.bar{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.bar i{display:block;width:75%;max-width:48px;min-height:2px;background:#6366f1;border-radius:5px 5px 0 0}.bar b{font-size:9px;color:#475569;font-weight:600;white-space:nowrap}.bar small{font-size:9px;color:#64748b}.monthly .bar i{background:#818cf8}.monthly .bar-chart{}.table-wrap{max-height:250px;overflow:auto;border:1px solid #f1f5f9;border-radius:10px}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:9px 8px;border-bottom:1px solid #f1f5f9}th{text-align:left;background:#f8fafc;position:sticky;top:0}th:first-child,td:first-child{text-align:center;width:38px}th:last-child,td:last-child{text-align:right}.error{padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:9px;color:#991b1b;font-size:12px}.hidden{display:none}@media(max-width:900px){.two{grid-template-columns:1fr}.card-head{flex-direction:column}.controls{width:100%}.controls input,.controls select,.controls button{flex:1}.bar-chart{gap:3px}.bar i{width:90%}}