:root{--green1:#E2F0D9;--green2:#A9D18E;--green3:#00B050;--red1:#F8CBAD;--red2:#F4B084;--red3:#C00000;--bg:#0b0f17;--fg:#e6e6e6;--muted:#9aa4ad;--card:#111827}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu;line-height:1.4;background:var(--bg);color:var(--fg)}
.container{max-width:1200px;margin:0 auto;padding:12px}
.topbar{position:sticky;top:0;background:#0f172a;border-bottom:1px solid #1f2937}
.topbar h1{margin:0;font-size:18px}
.controls{display:flex;gap:8px;align-items:center}
.controls input{padding:6px 10px;border-radius:6px;border:1px solid #1f2937;background:#0b1220;color:var(--fg)}
.controls button{padding:6px 10px;border-radius:6px;border:1px solid #1f2937;background:#111827;color:var(--fg);cursor:pointer}
.table-wrap{overflow:auto;background:var(--card);border:1px solid #1f2937;border-radius:10px}
table{width:100%;border-collapse:separate;border-spacing:0;min-width:900px}
th,td{padding:8px 10px;border-bottom:1px solid #1f2937;white-space:nowrap}
th{position:sticky;top:0;background:#0f172a;color:#cbd5e1;text-align:left;font-weight:600}
tr:hover td{background:#0b1220}
.badge{padding:2px 6px;border-radius:6px;font-weight:600}
.badge.al{background:rgba(0,176,80,.15);color:#8bffb1}
.badge.sat{background:rgba(192,0,0,.15);color:#ff8b8b}
.badge.bekle{background:rgba(255,193,7,.15);color:#ffd160}
.badge.risk-guvenilir{background:#00B050;color:#fff}
.badge.risk-az{background:#92D050;color:#000}
.badge.risk-riskli{background:#FFC000;color:#000}
.badge.risk-cok{background:#FF0000;color:#fff}
.badge.onay-yesil{background:#C6EFCE;color:#006100}
.badge.onay-kirmizi{background:#FFC7CE;color:#9C0006}
.badge.onay-gri{background:#D9D9D9;color:#000}
.pct{padding:2px 6px;border-radius:6px}
.pct.green{background:linear-gradient(90deg,var(--green1),var(--green2),var(--green3));color:#003300}
.pct.red{background:linear-gradient(90deg,var(--red3),var(--red2),var(--red1));color:#330000}
.mono{font-variant-numeric:tabular-nums}
