.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.qr-app{width:min(760px,calc(100% - 28px));margin:0 auto;padding:22px 0 max(38px,env(safe-area-inset-bottom));}.quick-menus{position:relative;z-index:20;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.menu-control{position:relative}.menu-trigger{width:100%;min-height:64px;padding:11px 14px;border:1px solid var(--nt-border);border-radius:15px;background:var(--nt-surface);color:var(--nt-text);box-shadow:var(--nt-shadow-soft);display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}.menu-trigger:hover,.menu-trigger[aria-expanded="true"]{border-color:#b9c9e4;background:#fbfdff}.menu-trigger span{display:grid;gap:2px;min-width:0}.menu-trigger small{color:var(--nt-muted);font-size:11px;font-weight:600}.menu-trigger strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.menu-trigger svg{width:21px;fill:var(--nt-muted);transition:transform .16s ease}.menu-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;width:min(350px,calc(200vw - 40px));max-height:360px;overflow:auto;padding:8px;border:1px solid var(--nt-border);border-radius:15px;background:var(--nt-surface);box-shadow:0 22px 55px rgba(27,49,83,.18)}.dropdown-menu--right{left:auto;right:0}.dropdown-list{display:grid;gap:4px}.dropdown-empty{padding:24px 12px;text-align:center;color:var(--nt-muted);font-size:12px}.dropdown-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:4px;border-radius:11px}.dropdown-item:hover{background:var(--nt-surface-soft)}.dropdown-select{min-width:0;padding:9px 10px;border:0;background:transparent;text-align:left;color:var(--nt-text);cursor:pointer}.dropdown-select strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.dropdown-select small{display:block;margin-top:2px;color:var(--nt-muted);font-size:10px}.dropdown-action{width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--nt-muted);font-size:18px;cursor:pointer}.dropdown-action:hover{background:#edf3ff;color:var(--nt-primary)}.dropdown-action.is-favorite{color:#e59a00}.dropdown-footer{width:100%;margin-top:6px;padding:10px;border:0;border-top:1px solid var(--nt-border);background:transparent;color:var(--nt-danger);font-size:11px;font-weight:700;cursor:pointer}.generator-panel{padding:clamp(20px,4vw,32px);border:1px solid var(--nt-border);border-radius:24px;background:rgba(255,255,255,.93);box-shadow:var(--nt-shadow)}.generator-intro{text-align:center}.tool-eyebrow{margin:0;color:var(--nt-primary);font-size:10px;font-weight:800;letter-spacing:.16em}.generator-intro h1{margin:5px 0 0;font-size:clamp(25px,5vw,36px);letter-spacing:-.045em}.sku-form{margin-top:22px}.sku-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.sku-input{text-transform:none}.generate-button{min-width:126px}.field-message{min-height:19px;margin:7px 2px 0;color:var(--nt-danger);font-size:11px}.qr-stage{min-height:clamp(310px,60vw,440px);margin-top:4px;display:grid;place-items:center;padding:18px;border:1px solid var(--nt-border);border-radius:20px;background:linear-gradient(145deg,#fbfcfe,#f2f6fb);overflow:hidden}.qr-placeholder{display:grid;place-items:center;gap:14px;color:#8c98aa;font-size:12px}.placeholder-grid{width:170px;aspect-ratio:1;border:2px dashed #ccd6e4;border-radius:14px;background:linear-gradient(90deg,transparent 48%,rgba(196,207,222,.25) 50%,transparent 52%),linear-gradient(0deg,transparent 48%,rgba(196,207,222,.25) 50%,transparent 52%);background-size:34px 34px}.qr-result{width:100%;display:grid;place-items:center;gap:13px}.generated-value{max-width:100%;margin:0;padding:8px 14px;border:1px solid var(--nt-border);border-radius:999px;background:var(--nt-surface);color:var(--nt-text);font-size:clamp(14px,3.6vw,19px);font-weight:700;line-height:1.25;text-align:center;overflow-wrap:anywhere;box-shadow:var(--nt-shadow-soft)}.qr-code{width:min(72vw,365px);aspect-ratio:1;padding:13px;border:1px solid #edf0f4;border-radius:15px;background:#fff;box-shadow:0 16px 45px rgba(30,48,78,.14);line-height:0}.qr-code canvas,.qr-code img,.print-qr canvas,.print-qr img{display:block;width:100%!important;height:100%!important;image-rendering:pixelated}.favorite-toggle{display:flex;align-items:center;gap:7px;padding:7px 11px;border:0;border-radius:999px;background:transparent;color:var(--nt-muted);font-size:11px;font-weight:600;cursor:pointer}.favorite-toggle span:first-child{font-size:18px;line-height:1}.favorite-toggle:hover,.favorite-toggle[aria-pressed="true"]{background:#fff6d9;color:#a86b00}.print-main{width:100%;margin-top:16px}.print-main svg{width:20px;fill:currentColor}.label-preview-wrap{display:grid;place-items:center;margin-top:19px;padding:22px;border:1px solid var(--nt-border);border-radius:16px;background:#eef2f7}.print-label{width:min(100%,470px);aspect-ratio:2/1;padding:4.5% 7%;display:grid;grid-template-rows:auto minmax(0,1fr);place-items:center;gap:4%;overflow:hidden;border-radius:6px;background:#fff;color:#000;box-shadow:0 10px 30px rgba(20,32,51,.12)}.print-label.size-3x2{aspect-ratio:3/2}.print-label.size-2x1{width:min(100%,380px);aspect-ratio:2/1}.label-sku{width:100%;overflow:hidden;font-family:Arial,sans-serif;font-size:42px;font-weight:900;line-height:1;text-align:center;white-space:nowrap}.print-qr{height:100%;aspect-ratio:1;line-height:0}.print-settings{display:grid;grid-template-columns:1fr 130px;gap:12px;margin-top:16px}.print-settings label span{display:block;margin:0 0 6px;color:var(--nt-muted);font-size:11px;font-weight:700}.print-copies{display:none}
@media(max-width:590px){.qr-app{padding-top:14px}.quick-menus{gap:8px}.menu-trigger{min-height:59px;padding:9px 11px}.generator-panel{padding:18px 15px;border-radius:21px}.generator-intro{text-align:left}.sku-row{grid-template-columns:minmax(0,1fr) 52px}.generate-button{grid-column:1/-1;width:100%;min-height:48px}.qr-stage{min-height:330px;padding:13px}.qr-code{width:min(78vw,330px)}.print-settings{grid-template-columns:1fr}.dropdown-menu{position:fixed;left:14px!important;right:14px!important;top:auto;width:auto;max-height:55dvh}.menu-control:first-child .dropdown-menu{top:132px}.menu-control:last-child .dropdown-menu{top:132px}}
@media print{@page{margin:0}body{background:#fff!important}.nt-appbar,.qr-app,.nt-dialog-backdrop,.nt-toast{display:none!important}.print-copies{display:block}.print-copy-page{display:flex;align-items:center;justify-content:center;width:100%;height:100vh;page-break-after:always;break-after:page}.print-copy-page:last-child{page-break-after:auto;break-after:auto}.print-copy-page .print-label{width:var(--print-width);height:var(--print-height);aspect-ratio:auto;padding:.10in;border-radius:0;gap:.04in;box-shadow:none}.print-copy-page .label-sku{font-size:var(--print-font-size)}.print-copy-page .print-qr{height:calc(var(--print-height) - var(--print-font-size) - .24in)}}


/* QR-08: keep the generated code fully visible on phones and avoid keyboard-driven viewport cropping. */
@media(max-width:590px){
  .qr-stage{min-height:0;padding:12px}
  .qr-result{gap:9px}
  .generated-value{padding:6px 11px;font-size:clamp(13px,3.4vw,17px)}
  .qr-code{width:min(76vw,calc(100dvh - 270px),320px);min-width:220px;padding:10px}
  .favorite-toggle{padding:5px 10px}
}
@media(max-width:590px) and (max-height:700px){
  .qr-code{width:min(68vw,calc(100dvh - 245px),285px);min-width:190px}
  .generated-value{font-size:13px}
}
