body{font-family:Arial,sans-serif;margin:0;background:#f5f7fb;color:#1f2937}
.container{width:92%;max-width:1240px;margin:28px auto}
.card{background:#fff;border-radius:16px;padding:20px;box-shadow:0 10px 24px rgba(0,0,0,.08);margin-bottom:20px}
.nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.btn,button{background:#2563eb;color:#fff;border:none;border-radius:10px;padding:10px 14px;text-decoration:none;cursor:pointer;display:inline-block}
.btn-secondary{background:#475569}.btn-danger{background:#dc2626}.btn-success{background:#16a34a}.btn-dark{background:#111827}
input,select,textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:10px;box-sizing:border-box}
.row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top}
.alert{padding:12px;border-radius:10px;margin-bottom:12px}
.alert-success{background:#dcfce7;color:#166534}.alert-error{background:#fee2e2;color:#991b1b}.alert-info{background:#dbeafe;color:#1d4ed8}
.badge{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:bold;display:inline-block}
.badge-success{background:#dcfce7;color:#166534}.badge-warning{background:#fef3c7;color:#92400e}.badge-danger{background:#fee2e2;color:#991b1b}.badge-dark{background:#e5e7eb;color:#111827}
.code{font-family:Consolas,monospace;background:#eef2ff;padding:3px 6px;border-radius:6px}
.validate-ok{background:#dcfce7;border:3px solid #16a34a}
.validate-bad{background:#fee2e2;border:3px solid #dc2626}
.big-result{font-size:34px;font-weight:700;text-align:center;padding:28px 18px;border-radius:18px}
.small-muted{color:#6b7280;font-size:13px}
.actions a{margin-right:8px}
.qr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.qr-card{border:1px solid #ddd;border-radius:12px;padding:12px;text-align:center;background:#fff;page-break-inside:avoid}
.qr-card img{width:140px;height:140px;object-fit:contain}
.print-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.ok{color:#166534;font-weight:700}.bad{color:#991b1b;font-weight:700}
@media(max-width:768px){.row,.row-3,.row-4,.qr-grid{grid-template-columns:1fr}}
@media print{
.nav,.print-toolbar,.no-print{display:none!important}
.container{width:100%;max-width:none;margin:0}
.card{box-shadow:none;border:none;padding:0;margin:0 0 12px 0}
.qr-grid{grid-template-columns:repeat(3,1fr);gap:10px}
}
