.card-link {
  font: inherit;
  text-align: left;
  cursor: pointer;
  width: 100%;
}
.card-link:hover { border-color: #c9c4ff; box-shadow: 0 5px 16px rgba(91, 76, 231, .09); }
.version-button { border: 0; background: transparent; color: #9ba8c4; padding: 5px 0; text-align: left; font-size: 11px; cursor: pointer; }
.version-button:hover { color: #fff; }
.mobile-version-button { display: none; }
.text-red { color: var(--red); }
.text-amber { color: #b36b00; }
.code-label { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 18px; align-items: center; }
.code-image { display: block; width: 150px; height: 150px; border: 1px solid var(--line); border-radius: 10px; padding: 8px; background: #fff; }
.barcode-image { display: block; width: 100%; min-height: 92px; max-width: 360px; border: 1px solid var(--line); border-radius: 10px; padding: 10px; background: #fff; }
.code-caption { margin-top: 7px; font-size: 12px; font-weight: 700; color: #53617b; word-break: break-all; }
.release-summary p { color: var(--muted); line-height: 1.65; }
.release-summary h4 { margin: 18px 0 8px; font-size: 14px; }
.release-notes { margin: 0; padding-left: 20px; color: #37445f; line-height: 1.8; font-size: 13px; }
.print-label { display: none; }
.auth-switch { display: block; margin: 18px auto 0; color: var(--primary); font-size: 13px; text-align: center; }
.auth-help { margin: 16px 0 0 !important; text-align: center; font-size: 11px; line-height: 1.6; }
.segmented { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 4px; border: 1px solid var(--line); border-radius: 11px; background: #f4f6fa; }
.segmented button { border: 0; border-radius: 8px; background: transparent; color: #66738d; min-height: 37px; font-weight: 700; }
.segmented button.active { background: #fff; color: var(--primary); box-shadow: 0 2px 7px rgba(30,42,70,.09); }
.customer-tip { padding: 12px 0 2px; }
.member-search { margin-top: 13px; }
.member-results { display: grid; gap: 6px; margin-top: 8px; }
.member-result { display: grid; gap: 4px; text-align: left; border: 1px solid var(--line); border-radius: 10px; padding: 10px 11px; background: #fff; color: var(--ink); }
.member-result:hover { border-color: #bcb6ff; background: #f9f8ff; }
.member-result span, .selected-member span { color: var(--muted); font-size: 12px; }
.selected-member { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; padding: 11px; border: 1px solid #d5d0ff; background: #f7f6ff; border-radius: 10px; }
.selected-member div { display: grid; gap: 3px; }
.permission-summary { display: flex; flex-wrap: wrap; gap: 4px; min-width: 180px; }
.permission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; }
.check-option { display: flex; gap: 7px; align-items: center; color: #44516b; font-size: 12px; font-weight: 600; }
.check-option input { width: auto; margin: 0; }
@media print {
  body > * { visibility: hidden !important; }
  #printLabel, #printLabel * { visibility: visible !important; }
  #printLabel { display: flex !important; position: fixed; inset: 0; width: 100%; height: 100%; align-items: center; justify-content: center; flex-direction: column; gap: 8mm; background: #fff; color: #000; font-family: Arial, sans-serif; font-size: 14pt; font-weight: 700; letter-spacing: 1.2pt; }
  #printLabel img { display: block; object-fit: contain; }
  #printLabel.qr img { width: 42mm; height: 42mm; }
  #printLabel.barcode img { width: 74mm; height: auto; }
  @page { margin: 5mm; }
}
@media (max-width: 640px) {
  .code-label { grid-template-columns: 1fr; }
  .code-image { width: 132px; height: 132px; }
  .barcode-image { max-width: 100%; }
  .mobile-version-button { display: block; position: fixed; right: 12px; bottom: 70px; z-index: 11; border: 1px solid var(--line); background: rgba(255,255,255,.96); color: #71809b; border-radius: 999px; padding: 5px 9px; font-size: 10px; box-shadow: 0 3px 10px rgba(26,36,60,.08); }
  .permission-grid { grid-template-columns: 1fr; }
}
