.testbanner{background:#FFF8E1;color:#7A5B00;border-radius:12px;padding:8px 14px;font-size:14px;margin:0 0 14px}
.drop{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;border:2px dashed var(--coral-100);border-radius:16px;padding:34px 18px;text-align:center;cursor:pointer;background:var(--coral-50)}
.drop.over{border-color:var(--coral)}.drop input{max-width:320px}.drop-big{font-weight:700;font-size:20px}
.stats{display:flex;gap:12px;flex-wrap:wrap}.stats .card{padding:16px 20px;min-width:150px;display:flex;flex-direction:column}.stats b{font-size:32px;line-height:1.1}
.stats .warn{border-color:#F3D36B;background:#FFFBEA}.stats .hot{border-color:var(--coral);background:var(--coral-50)}.stats .bad{border-color:#F2B8B8;background:#FDF0F0}
table.t{width:100%;border-collapse:collapse;font-size:14px}table.t th{text-align:left;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line);padding:8px 8px}
table.t td{border-bottom:1px solid var(--line);padding:8px;vertical-align:top}.scroll{overflow-x:auto;padding:14px}
.tag{display:inline-block;border-radius:99px;padding:2px 10px;font-size:12px;font-weight:700;white-space:nowrap}.tag.up{background:#FDDCDC;color:#8A1C1C}.tag.down{background:#E3F5E8;color:#14532D}.tag.chk{background:#FFF2A8;color:#6B5200}
.rowwarn td{background:#FFFBEA}.rowbad td{background:#FDF0F0}.legal p{max-width:760px}
.nw{white-space:nowrap}
