.row-actions { display: flex; align-items: center; gap: 7px; justify-content: flex-end; }
.row-actions form { margin: 0; }
.compact-button { padding: 7px 10px; border-radius: 9px; font-size: 12px; }
.danger-button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #e0aaa5; background: #fff4f2; color: #94382f; border-radius: 12px; padding: 11px 16px; font-weight: 700; cursor: pointer; }
.status-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 6px 9px; font-size: 12px; font-weight: 720; background: #f0f3f2; color: #65716d; }
.status-badge.active { background: #e7f3ed; color: #21604b; }
.badge-stage { min-height: 460px; display: grid; place-items: center; padding: 48px 20px; border-radius: 24px; background: radial-gradient(circle at 30% 10%, #e8f1ed 0, #f7f9f8 42%, #eef2f0 100%); border: 1px solid var(--line); }
.id-card { width: 85.6mm; height: 54mm; background: #fff; border: .25mm solid #d5dfdb; border-radius: 3.2mm; box-shadow: 0 18px 55px rgba(21,32,29,.18); overflow: hidden; display: grid; grid-template-rows: auto 1fr auto; }
.id-card-header { padding: 3.4mm 4mm 2.7mm; display: flex; align-items: start; justify-content: space-between; gap: 3mm; background: #173f35; color: white; }
.id-card-header > div { display: grid; gap: .4mm; }
.id-card-brand { font-size: 4.5mm; font-weight: 800; letter-spacing: -.3mm; }
.id-card-org { font-size: 2.5mm; opacity: .82; max-width: 54mm; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.id-card-profile { font-size: 2.2mm; text-transform: uppercase; letter-spacing: .18mm; opacity: .75; }
.id-card-body { padding: 3mm 4mm 2mm; display: grid; gap: 1.6mm; min-height: 0; }
.id-card-person { display: grid; grid-template-columns: 15mm 1fr; gap: 3mm; align-items: center; }
.id-card-photo { width: 15mm; height: 15mm; border-radius: 2.2mm; object-fit: cover; background: #edf2f0; }
.id-card-photo-placeholder { display: grid; place-items: center; font-size: 6mm; color: #173f35; font-weight: 800; }
.id-card-identity { min-width: 0; display: grid; gap: .5mm; }
.id-card-identity .eyebrow { font-size: 1.9mm; margin: 0; }
.id-card-identity strong { font-size: 3.8mm; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.id-card-identity small { color: #65716d; font-size: 2.2mm; }
.id-card-groups { display: flex; gap: 1.6mm; flex-wrap: wrap; font-size: 2.1mm; color: #41534d; }
.id-card-groups span { background: #eef4f1; border-radius: 2mm; padding: .6mm 1.2mm; }
.id-card-barcode { display: grid; place-items: center; overflow: hidden; min-height: 14mm; }
.id-card-barcode svg { width: 70mm; max-height: 16mm; }
.id-card-footer { display: flex; justify-content: space-between; gap: 3mm; padding: 1.6mm 4mm 2mm; font-size: 2mm; color: #65716d; border-top: .2mm solid #edf0ef; }
.privacy-note { margin: 16px auto 0; width: min(760px, 100%); display: flex; gap: 12px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 13px; background: white; color: var(--muted); font-size: 13px; }
.privacy-note strong { color: var(--ink); white-space: nowrap; }
@media (max-width: 700px) { .row-actions { justify-content: flex-start; flex-wrap: wrap; } .badge-stage { overflow-x: auto; justify-content: start; } .privacy-note { flex-direction: column; } }
@media print {
    @page { size: 85.6mm 54mm; margin: 0; }
    html, body { width: 85.6mm; height: 54mm; margin: 0; padding: 0; background: white; }
    .topbar, .no-print, .privacy-note, .message-stack { display: none !important; }
    .page-shell { width: 85.6mm; margin: 0; padding: 0; }
    .badge-stage { display: block; min-height: 0; width: 85.6mm; height: 54mm; padding: 0; border: 0; background: white; }
    .id-card { width: 85.6mm; height: 54mm; border: 0; border-radius: 0; box-shadow: none; break-inside: avoid; }
}
