:root{ --bg:#0a0f0c; --card:#101a13; --muted:#a7b8ad; --text:#eaf5ee; --brand:#12a454; --accent:#19c37d; }
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#07150d,#08150d 30%,#091a10 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif}
.wrap{max-width:1100px;margin:0 auto;padding:20px}
header{display:flex;gap:16px;align-items:center;justify-content:space-between}
.brand{display:flex;gap:12px;align-items:center}
.logo{width:44px;height:44px;border-radius:12px;background:radial-gradient(circle at 30% 30%,#1fe07a,#0b8f3f 60%,#064523);display:grid;place-items:center;box-shadow:0 6px 22px rgba(25,195,125,.25)}
.live{display:inline-flex;align-items:center;gap:8px;background:rgba(25,195,125,.12);border:1px solid rgba(25,195,125,.35);color:#b7f7d6;padding:6px 10px;border-radius:999px;font-size:12px}
.dot{width:8px;height:8px;border-radius:50%;background:#19c37d;box-shadow:0 0 10px #19c37d}
.controls{display:flex;gap:8px;flex-wrap:wrap}
button, input, select{font:inherit}
.btn{background:var(--brand);border:0;color:#042814;font-weight:700;padding:10px 14px;border-radius:10px;cursor:pointer;transition:.2s;box-shadow:0 6px 16px rgba(18,164,84,.35)}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn.secondary{background:#17251d;color:#bfead3;border:1px solid #214c35;box-shadow:none}
.grid{display:grid;gap:16px;margin-top:16px}
@media (min-width:900px){.grid{grid-template-columns:1.1fr .9fr}}
.card{background:var(--card);border:1px solid #183427;border-radius:16px;padding:18px}
h1{font-size:20px;margin:0}
h2{font-size:16px;margin:0 0 8px 0;color:#cfe9da}
.muted{color:var(--muted)}
.title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pill{display:inline-flex;gap:6px;align-items:center;padding:4px 10px;border-radius:999px;background:#0f271a;border:1px solid #1a3b29;color:#c7f0df;font-size:12px}
.numbers{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ball{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:radial-gradient(circle at 30% 30%,#ffffff,#bdecd3);color:#052a17;border:2px solid #83d6ae;box-shadow:inset 0 -4px 8px rgba(0,0,0,.15),0 6px 14px rgba(25,195,125,.25)}
.meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}
.meta .item{background:#0f271a;border:1px solid #1a3b29;border-radius:12px;padding:8px 10px;color:#bfead3}
.row{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid #183427}
.row:last-child{border-bottom:0}
.kpi{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.kpi .box{background:#0f271a;border:1px solid #1a3b29;border-radius:12px;padding:12px}
.search{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.search input{background:#0c1c13;color:#d7f3e6;border:1px solid #1a3b29;padding:10px 12px;border-radius:10px;min-width:180px}
.status{margin-top:10px;font-size:13px}
.nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.nav input{background:#0c1c13;color:#d7f3e6;border:1px solid #1a3b29;padding:10px 12px;border-radius:10px;width:120px}
footer{margin-top:24px;color:#93b5a3;font-size:12px}
.toast{position:fixed;right:20px;bottom:20px;background:#0f271a;border:1px solid #1a3b29;border-radius:12px;padding:12px 14px;box-shadow:0 8px 24px rgba(0,0,0,.4);display:none}
.spin{width:12px;height:12px;border:2px solid #1a3b29;border-top-color:#19c37d;border-radius:50%;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(1turn)}}
a{color:#8be7b8}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:8px;border-bottom:1px solid #183427;text-align:left;font-size:14px}
.table th{color:#bcebd8;font-weight:700}
.empty{padding:18px;border:1px dashed #2a4b39;border-radius:12px;color:#a7c7b6;margin-top:12px}
.tests{margin-top:16px}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid #1a3b29;background:#0f271a;color:#bfead3}
.pass{color:#8be7b8}
.fail{color:#ffb3b3}

/* ===== Responsividade ===== */
.table-wrap{width:100%;overflow-x:auto}
@media (max-width: 900px){
  .grid{grid-template-columns:1fr}
  .ball{width:40px;height:40px;font-size:14px}
  header{flex-direction:column;align-items:stretch}
  .controls{justify-content:stretch}
  .controls > *{flex:1 1 100%}
  .controls select{min-width:0}
  .nav{gap:6px}
  .nav .btn{flex:1 1 calc(50% - 6px)}
  .nav input{flex:1 1 100%;width:100%}
  .kpi{grid-template-columns:1fr}
}
@media (max-width: 520px){
  .ball{width:34px;height:34px;font-size:13px}
  .pill{font-size:11px}
  .btn{padding:10px 12px}
  .search input{min-width:0;width:100%}
  .numbers{gap:8px}
}
