.m21-qr-head{align-items:center}.m21-version{border:1px solid #bdcdca;border-radius:999px;padding:10px 16px;color:var(--lumina);font-size:12px;font-weight:800;letter-spacing:.1em}.m21-qr-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);gap:22px;align-items:start;margin-bottom:54px}.m21-create-card{max-width:none}.m21-help-card{padding:30px}.m21-compact-notice{margin:24px 0 0}.m21-status-legend{display:grid;gap:10px;margin:22px 0;color:var(--muted);font-size:14px}.m21-status-legend span{display:flex;align-items:center;gap:9px}.m21-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#9aa8aa}.m21-dot.is-reserved{background:var(--gold)}.m21-dot.is-ready{background:#5b86a6}.m21-dot.is-active{background:var(--success)}.m21-dot.is-deactivated{background:#8a9698}.m21-list-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}.m21-list-head h2{margin-bottom:0}.m21-list-head p{margin:0}.m21-qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.m21-qr-card{display:grid;grid-template-columns:180px minmax(0,1fr);overflow:hidden}.m21-qr-preview{padding:24px;border-right:1px solid var(--line);background:#f8faf8;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:flex-start}.m21-qr-preview img{width:132px;height:132px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:12px;padding:8px}.m21-status{font-size:11px;font-weight:800;padding:7px 10px;border-radius:999px;background:#eef1f0;color:#657274}.m21-status.is-reserved{background:#fcf4df;color:#7a5d1d}.m21-status.is-ready{background:#eaf1f7;color:#365e7a}.m21-status.is-active{background:#e8f4ee;color:var(--success)}.m21-status.is-deactivated{background:#eef0ef;color:#707a7c}.m21-qr-body{padding:26px}.m21-qr-body h3{margin-bottom:18px}.m21-meta{display:grid;gap:12px;margin:0 0 20px}.m21-meta>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(36,77,85,.08)}.m21-meta dt{text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800;color:#879396}.m21-meta dd{margin:0;color:var(--ink);font-size:13px;overflow-wrap:anywhere}.m21-url{display:flex;gap:8px;align-items:flex-start}.m21-url code{flex:1;overflow-wrap:anywhere}.m21-downloads{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}.m21-downloads .secondary-button{min-height:38px;padding:0 14px;font-size:12px}.m21-edit{border-top:1px solid var(--line);padding-top:15px;margin-top:4px}.m21-edit summary{cursor:pointer;color:var(--lumina);font-weight:800;font-size:13px;margin-bottom:16px}.m21-edit .stack-form{gap:14px}.m21-push-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.m21-push-row small{color:var(--muted);text-align:right}.m21-push-row .primary-button{min-height:40px;padding:0 16px;font-size:12px;white-space:nowrap}@media(max-width:1100px){.m21-qr-grid{grid-template-columns:1fr}.m21-qr-layout{grid-template-columns:1fr}}@media(max-width:720px){.m21-qr-card{grid-template-columns:1fr}.m21-qr-preview{border-right:0;border-bottom:1px solid var(--line)}.m21-meta>div{grid-template-columns:1fr}.m21-push-row{align-items:stretch;flex-direction:column}.m21-push-row small{text-align:left}.m21-push-row form,.m21-push-row button{width:100%}}

/* M2.3 – LPMS publication structure / QR synchronization */
.m23-structure-card{padding:0;overflow:hidden;margin-bottom:30px}.m23-structure-head{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:28px 30px 20px}.m23-structure-head h2{margin-bottom:8px}.m23-structure-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.m23-structure-actions form{margin:0}.m23-diffline{display:flex;flex-wrap:wrap;gap:9px;padding:12px 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7f9f8;color:var(--muted);font-size:12px}.m23-diffline span{background:white;border:1px solid rgba(36,77,85,.11);border-radius:999px;padding:6px 10px}.m23-diffline .is-warning{background:#fff7e8;color:#7a5d1d;border-color:#efdca8}.m23-table-wrap{overflow:auto}.m23-structure-table{width:100%;border-collapse:collapse;min-width:980px}.m23-structure-table th{padding:11px 14px;text-align:left;background:#f7f9f8;color:#667579;font-size:9px;letter-spacing:.09em;text-transform:uppercase;border-bottom:1px solid var(--line)}.m23-structure-table td{padding:14px;border-bottom:1px solid rgba(36,77,85,.08);vertical-align:middle;font-size:13px}.m23-structure-table tbody tr:last-child td{border-bottom:0}.m23-structure-table tbody tr.is-archived{background:#faf8f4}.m23-structure-table td strong{display:block;color:var(--ink)}.m23-structure-table td small{display:block;margin-top:3px;color:var(--muted)}.m23-pos{font-weight:800;color:var(--lumina);width:58px}.m23-pill{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#edf4f2;color:var(--lumina);font-size:10px;font-weight:800}.m23-pill.is-archived{background:#f4eee3;color:#84652b}.m23-yes{font-weight:800;color:var(--success)}.m23-no,.m23-muted{color:#8a9698}.m23-qr-ref{display:inline-flex;font-weight:850;color:var(--lumina)}.m23-warning-text{color:#8a6522!important}.m23-row-action{text-align:right}.m23-row-action form{margin:0}.m23-row-action .secondary-button{white-space:nowrap}.m23-safe-label{display:inline-flex;padding:6px 9px;border-radius:999px;background:#fff4dd;color:#795c1d;font-size:10px;font-weight:800}.m23-empty-structure{padding:28px 30px;color:var(--muted);border-top:1px solid var(--line)}.m23-manual-layout{margin-top:0}.m23-publication-state{display:block;text-align:center;font-size:10px;font-weight:800;line-height:1.3}.m23-publication-state.is-warning{color:#7b5e1e}.m23-archive-notice{margin:0 0 18px;background:#fff7e8;color:#6f5725;border-color:#ead59b}.m23-structure-actions .secondary-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.m23-structure-actions button{white-space:nowrap}@media(max-width:900px){.m23-structure-head{flex-direction:column}.m23-structure-actions{justify-content:flex-start;width:100%}.m23-structure-actions form,.m23-structure-actions button{width:100%}}
