.qr-muted { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 8px 0 0; }
.qr-toolbar { display: flex; gap: 16px; align-items: end; flex-wrap: wrap; padding: 18px; }
.qr-toolbar .field:first-child { flex: 1; min-width: 220px; }
.qr-toolbar .field { min-width: 140px; }
.qr-notice { margin: 0 18px 18px; padding: 12px 16px; background: var(--panel-2); border-radius: 10px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.qr-list-status { text-align: center; color: var(--muted); padding: 18px; }
.qr-list-status:empty, .qr-error:empty { display: none; }
.qr-list-status button { margin-left: 12px; }
.qr-table { min-width: 850px; }
.qr-table td { vertical-align: middle; }
.qr-table .qr-description { display: block; color: var(--muted); font-size: 12px; max-width: 220px; overflow-wrap: anywhere; margin-top: 6px; white-space: normal; }
.qr-target { display: block; max-width: 330px; overflow-wrap: anywhere; white-space: normal; font-size: 13px; }
.qr-table .actions { flex-wrap: wrap; max-width: 260px; gap: 8px; }
#qrEditorModal .dialog { width: min(640px, 100%); }
#qrPreviewModal .dialog { width: min(480px, 100%); }
.qr-wide { grid-column: 1 / -1; }
.qr-error { color: var(--danger); font-size: 13px; margin: 0; }
.qr-form-actions { padding: 0 18px 18px; }
.qr-preview { display: grid; gap: 18px; }
.qr-preview .qr-muted { text-align: center; margin: 0; }
.qr-preview canvas { display: block; width: min(280px, 100%); height: auto; margin: auto; background: white; image-rendering: pixelated; }
.qr-preview .actions { justify-content: center; flex-wrap: wrap; }
.qr-preview input { width: 100%; min-width: 0; }
.qr-source-options { margin: 0; padding: 0; border: 0; display: flex; flex-wrap: wrap; gap: 12px 24px; }
.qr-source-options legend { padding: 0; margin-bottom: 10px; }
.qr-source-options label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.qr-source-options input[type="radio"] { width: 16px; height: 16px; margin: 0; accent-color: var(--brand); }
.qr-upload-panel { padding: 14px; border: 1px dashed var(--line); border-radius: 10px; background: var(--panel-2); }
.qr-upload-panel[hidden], .qr-upload-preview[hidden] { display: none; }
.qr-upload-preview { display: block; width: 100px; height: 100px; object-fit: contain; background: white; margin-top: 12px; }
.qr-decode-status { margin: 10px 0 0; font-size: 13px; line-height: 1.6; overflow-wrap: anywhere; }
.qr-decode-status:empty { display: none; }
.qr-decode-status[data-state="error"] { color: var(--danger); }
.qr-decode-status[data-state="success"] { color: var(--ok); }
.qr-link-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.qr-link-actions .qr-muted { margin: 0; }
@media (max-width: 600px) { .qr-toolbar { gap: 12px; } .qr-table { min-width: 800px; } }
