*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,Segoe UI,sans-serif;background:#f5f6f8;color:#1c2330}
a{color:#0b5cad}.top{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:#14213d;color:#fff;padding:10px 20px}
.top a{color:#dce6ff;text-decoration:none;margin-right:12px}.top a:hover{text-decoration:underline}.brand{font-weight:700;color:#fff!important}
.top nav{flex:1}.who{display:flex;gap:10px;align-items:center;font-size:13px}main{max-width:1200px;margin:20px auto;padding:0 16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.card{background:#fff;border:1px solid #dde2ea;border-radius:8px;padding:14px 16px;margin-bottom:14px}
.narrow{max-width:420px;margin:60px auto}.big{font-size:28px;font-weight:700;margin:4px 0}.bar{height:8px;background:#e5e9f0;border-radius:4px;overflow:hidden}.bar span{display:block;height:100%;background:#2a9d55}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #dde2ea}th,td{padding:7px 10px;border-bottom:1px solid #eef0f4;text-align:left;vertical-align:top;font-size:14px}th{background:#eef1f6}
input,select,textarea,button{font:inherit;padding:7px 9px;border:1px solid #c4ccd9;border-radius:6px;background:#fff}textarea{width:100%;display:block;margin:8px 0}button,.btn{background:#14213d;color:#fff;border:0;cursor:pointer;text-decoration:none;display:inline-block;padding:8px 14px;border-radius:6px}
button.link{background:none;color:#dce6ff;padding:0;text-decoration:underline}.filters{margin:10px 0;display:flex;gap:8px;flex-wrap:wrap}.chip{padding:3px 10px;border:1px solid #c4ccd9;border-radius:12px;text-decoration:none;margin-right:6px}.chip.on{background:#14213d;color:#fff}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;align-items:end}.kpi label{display:flex;flex-direction:column;font-size:13px}pre.wrap{white-space:pre-wrap;word-break:break-word}
.muted{color:#667085;font-size:13px}.err{color:#b42318;font-weight:600}footer{max-width:1200px;margin:30px auto;padding:0 16px;color:#667085;font-size:12px}small{font-weight:400;color:#667085}
progress{width:100%;height:10px;accent-color:#2a9d55}
form.inline{display:inline}button.alt{background:#667085}
.msg{background:#fff;border:1px solid #dde2ea;border-radius:8px;padding:8px 12px;margin:8px 0;max-width:900px}.msg.user{background:#e8f0ff;margin-left:40px}.msg.error{border-color:#b42318}.msg.wait{color:#667085;font-style:italic}.msg .who{font-weight:600;font-size:13px}code{background:#eef1f6;padding:1px 5px;border-radius:4px}
