:root{--qr-orange: #fc5a29;color:#181817;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:#f4f3ef;margin:0}button,input{font:inherit}button{cursor:pointer}.generator-shell{margin:0 auto;max-width:1120px;padding:40px 24px}.generator-header{align-items:end;display:flex;gap:28px;justify-content:space-between}.generator-header h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.04em;margin:4px 0 8px}.generator-header p{color:#66645f;margin:0 0 10px}.generator-header code{color:#77746e;font-size:.78rem}.eyebrow{color:var(--qr-orange)!important;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.generate-controls{align-items:end;display:grid;gap:8px;grid-template-columns:84px auto}.generate-controls label{font-size:.8rem;font-weight:650;grid-column:1 / -1}input,button{border:1px solid #cfcdc6;border-radius:9px;min-height:42px}input{background:#fff;padding:0 10px;width:84px}button{background:#fff;color:#181817;padding:8px 14px}button:hover{border-color:#77746e}button[aria-pressed=true]{border-color:#181817;box-shadow:inset 0 0 0 1px #181817}.toolbar{align-items:end;background:#ebeae5;border:1px solid #d9d7d0;border-radius:16px;display:grid;gap:20px;grid-template-columns:1fr 1fr auto;margin:28px 0;padding:18px}fieldset{border:0;margin:0;padding:0}legend{font-size:.82rem;font-weight:650;margin-bottom:8px}.option-row{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.option-row.three-up{grid-template-columns:repeat(3,1fr)}.option-row button{text-align:left}.option-row strong,.option-row small{display:block}.option-row small{color:#77746e;margin-top:2px}.print-button{background:#181817;color:#fff;min-height:58px}.print-button:disabled{cursor:default;opacity:.45}.qr-print-page{margin-bottom:24px}.qr-print-page-cards{display:grid;gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}.qr-card{aspect-ratio:3 / 5;background:#fff;border:1px solid #333;overflow:hidden;position:relative}.qr-card-strip{background:var(--qr-accent);height:4%;left:0;position:absolute;right:0}.qr-card-strip-top{top:0}.qr-card-strip-bottom{bottom:0}.qr-card-logo{height:auto;left:6.5%;position:absolute;top:5%;width:20%}.qr-card-identity{align-items:center;display:flex;flex-direction:column;gap:4px;position:absolute;right:6.5%;top:5%}.qr-card-code{display:block;height:auto;width:96px}.qr-card-identity a,.qr-sticker-footer a{color:#999;font-family:ui-monospace,monospace;font-size:.625rem;letter-spacing:.06em;text-decoration:none}.qr-orange-frame{background:#fff;border:4px solid var(--qr-orange);display:block;padding:5px}.qr-print-page-stickers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.qr-sticker{align-items:center;aspect-ratio:1;background:#fff;border:1px dashed #bbb;display:flex;justify-content:center;min-width:0}.qr-sticker-highlighted{border:6px solid var(--qr-accent)}.qr-sticker-inner{display:inline-flex;flex-direction:column;width:70%}.qr-sticker-code{display:block;height:auto;width:100%}.qr-sticker-footer{align-items:center;display:flex;justify-content:space-between;margin-top:3px}.qr-sticker-logo{height:auto;width:27%}@media(max-width:760px){.generator-header{align-items:start;flex-direction:column}.toolbar{grid-template-columns:1fr}.qr-print-page-stickers{grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{.no-print{display:none!important}body *{visibility:hidden!important}.qr-print-root,.qr-print-root *{visibility:visible!important}.qr-print-root{left:0;position:absolute;top:0;width:100%}.qr-print-page{break-after:page;margin:0}.qr-print-page:last-child{break-after:auto}.qr-print-page-cards{display:grid;gap:5mm;grid-template-columns:repeat(2,76.2mm)}.qr-card{height:127mm;page-break-inside:avoid;width:76.2mm}.qr-card-strip{height:4mm}.qr-card-logo{left:5mm;top:6mm;width:15mm}.qr-card-identity{gap:1mm;right:5mm;top:6mm}.qr-card-code{height:18mm;width:18mm}.qr-card-identity a{font-size:6pt}.qr-print-page-stickers{display:grid;grid-template-columns:repeat(4,34mm)}.qr-sticker{height:34mm;page-break-inside:avoid;width:34mm}.qr-sticker-highlighted{border-width:2mm}.qr-sticker-inner{width:24mm}.qr-sticker-code{height:24mm;width:24mm}.qr-sticker-footer{margin-top:1mm}.qr-sticker-logo{width:6.5mm}.qr-sticker-footer a{font-size:5pt}.qr-orange-frame{border-width:.8mm;padding:1.2mm}.qr-sticker .qr-orange-frame .qr-sticker-code{height:21mm;width:21mm}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
