:root{--bg:#ffffff;--card:#ffffff;--text:#0f172a;--muted:#475569;--accent:#0ea5e9;--line:#e5e7eb;
--ok:#16a34a;--bad:#dc2626;--warn:#f59e0b;}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif}
.container{max-width:1100px;margin:24px auto;padding:16px}
.card{background:var(--card);border-radius:14px;padding:20px;border:1px solid var(--line);box-shadow:0 4px 12px rgba(0,0,0,.04);margin-bottom:16px}
h1,h2{margin:.2rem 0 1rem} a{color:#0f172a;text-decoration:none}
.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer}
.btn.secondary{background:#64748b}
.btn.success{background:#16a34a}
.btn.danger{background:#ef4444}
.btn:disabled{opacity:.6;cursor:not-allowed}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px}
label{color:var(--muted);font-size:14px;margin-bottom:6px;display:block}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{border-bottom:1px solid var(--line);padding:10px;text-align:left}
th{background:#f8fafc}
.badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#f1f5f9;color:#0f172a;font-size:12px;border:1px solid var(--line)}
.badge.ok{background:#ecfdf5;border-color:#86efac;color:#065f46}
.badge.bad{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}
.badge.warn{background:#fffbeb;border-color:#fde68a;color:#78350f}
.pill{padding:4px 8px;border-radius:999px;font-size:12px;color:#fff}
.pill.ok{background:var(--ok)} .pill.bad{background:var(--bad)} .pill.warn{background:var(--warn)}
.action-links a{margin-right:8px}
.print-header{display:none;margin-bottom:12px}
@media print{
  .no-print{display:none !important}
  body{background:#fff;color:#000}
  .card{box-shadow:none;border:none}
  .print-header{display:block}
}
