:root{font-family:IBM Plex Sans,Avenir Next,sans-serif;color:#112e51;background:radial-gradient(circle at 10% 20%,#f5f7ff,#eef6f0 45%,#fef8ec)}body{margin:0;min-height:100vh}.app-shell{max-width:1200px;margin:0 auto;padding:1.5rem}.hero{margin-bottom:1.25rem}.hero h1{margin:0 0 .4rem}.status{background:#fff;border-radius:10px;padding:.9rem 1rem}.status.error{color:#8f1d2f;border:1px solid #f1b8c1}.cards{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:1rem}.card{background:#fff;border:1px solid #dce8ef;border-radius:12px;padding:.9rem}.card h2{margin:0;font-size:.92rem;font-weight:600}.card p{margin:.55rem 0 0;font-size:1.35rem;font-weight:700}.panel{background:#fff;border:1px solid #dce8ef;border-radius:12px;padding:1rem;margin-bottom:1rem}.panel h2{margin-top:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.panel-tools{display:inline-flex;align-items:center;gap:.6rem}.event-filter{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem}.event-filter select{border:1px solid #c7d8e3;border-radius:8px;padding:.3rem .5rem;background:#fff}.button-link{display:inline-flex;align-items:center;text-decoration:none;border:1px solid #c7d8e3;border-radius:8px;padding:.32rem .56rem;color:#112e51;background:#fff;font-size:.9rem}.chart-wrap{width:100%;height:340px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{border-bottom:1px solid #e4edf3;padding:.5rem .4rem;text-align:left}
