:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;--ink:#172033;--muted:#647067;--brand:#173b35;--brand-bright:#1f6658;--brand-color:#173b35;--accent:#d3aa53;--paper:#fff;--line:#d9e1dc;--danger:#a53232;--warning:#8a5d0a;--shadow:0 14px 40px #173b3517;background:#f3f6f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--brand-bright)}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #d3aa53bf}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);line-height:1.15}code{font-size:.88em}.centered-screen,.auth-shell{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-shell{background:radial-gradient(circle at 18% 18%,#d3aa5338,#0000 28rem),linear-gradient(145deg,#102b27,#1e5148)}.auth-card{background:#fffffffa;border-radius:1.5rem;width:min(100%,32rem);padding:clamp(1.5rem,6vw,3rem);box-shadow:0 32px 70px #0000003d}.brand-mark{width:4.5rem;height:4.5rem;color:var(--header-text,white);background:var(--brand);letter-spacing:-.06em;border-radius:1.25rem;place-items:center;margin-bottom:1.5rem;font-weight:900;display:grid;box-shadow:inset 0 -5px #0000002e}.brand-mark.small{border-radius:.75rem;width:2.7rem;height:2.7rem;margin:0;font-size:.9rem}.brand-logo{object-fit:contain;border-radius:.75rem;width:2.7rem;height:2.7rem;margin:0}.eyebrow{color:var(--brand-bright);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;font-size:.72rem;font-weight:800}.lead{color:#50605a;font-size:1.08rem;line-height:1.6}.fine-print,.field-hint,.muted{color:var(--muted);font-size:.82rem;line-height:1.45}.field-label{margin-bottom:.35rem;font-size:.85rem;font-weight:600;display:block}.logo-uploader{margin-bottom:1rem}.logo-uploader-row{align-items:flex-start;gap:.85rem;display:flex}.logo-preview{object-fit:contain;border:1px solid var(--border);background:#fff;border-radius:10px;flex:none;width:64px;height:64px;padding:4px}.logo-preview.empty{color:var(--muted);background:var(--panel-alt,#f5f5f2);justify-content:center;align-items:center;font-size:.78rem;display:flex}.logo-uploader-actions{flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0;display:flex}.logo-uploader-actions .button-row{gap:.5rem;margin:0}.logo-uploader-actions .notice.error{margin-top:.35rem}.wide{justify-content:center;width:100%}.button{cursor:pointer;border:1px solid #0000;border-radius:.65rem;justify-content:center;align-items:center;gap:.4rem;padding:.7rem 1rem;font-weight:750;transition:transform .12s,background .12s,border-color .12s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.55}.button.primary{color:#fff;background:var(--brand-color,var(--brand))}.button.primary:hover:not(:disabled){background:var(--brand-bright)}.button.secondary{color:var(--brand);background:#eff5f2;border-color:#bed0c7}.button.ghost{color:#52615a;border-color:var(--line);background:0 0}.button.danger{color:var(--danger);background:#fff1f1;border-color:#e9bebe}.button.small{padding:.48rem .72rem;font-size:.82rem}.text-button{color:var(--brand-bright);cursor:pointer;background:0 0;border:0;padding:.25rem;font-weight:750}.notice{border-radius:.7rem;padding:.8rem 1rem;line-height:1.45}.notice.error{color:#7b2020;background:#fff0f0;border:1px solid #ecc3c3}.notice.warning{color:#684605;background:#fff8df;border:1px solid #ead598}.notice.dismissible{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.notice.dismissible button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:1.35rem;line-height:1}.app-header{min-height:4.8rem;color:var(--header-text,white);background:var(--brand-color,var(--brand));justify-content:space-between;align-items:center;gap:1rem;padding:.75rem max(1rem,50vw - 38rem);display:flex}.header-brand,.account-menu{align-items:center;gap:.8rem;display:flex}.header-brand>div{flex-direction:column;display:flex}.header-brand span,.account-menu span{color:var(--header-text-muted,#dbe8e3);font-size:.78rem}.app-header .button.ghost{color:var(--header-text,white);border-color:var(--header-ghost-border,#ffffff59)}.main-content{width:min(76rem,100% - 2rem);margin:0 auto;padding:1.5rem 0 4rem}.panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:1rem}.toolbar{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.toolbar-actions,.button-row,.card-actions{flex-wrap:wrap;gap:.55rem;display:flex}.button-row.centered{justify-content:center}label{color:#38463f;flex-direction:column;gap:.38rem;font-size:.86rem;font-weight:720;display:flex}.toolbar label{min-width:min(26rem,100%)}input,select{width:100%;min-height:2.8rem;color:var(--ink);background:#fff;border:1px solid #bdc9c3;border-radius:.55rem;padding:.62rem .72rem}input:disabled{color:#6b746f;background:#edf1ef}fieldset{border:1px solid var(--line);border-radius:.7rem;margin:0;padding:.9rem}legend{color:#38463f;padding:0 .35rem;font-size:.86rem;font-weight:800}.campaign-section{margin-top:2rem}.section-heading,.dialog-header,.qr-title-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.section-heading h1,.section-heading h2,.dialog-header h2{margin-bottom:0}.count-label{color:var(--brand);background:#e2ede8;border-radius:999px;padding:.35rem .65rem;font-size:.78rem;font-weight:800}.empty-state{text-align:center;padding:clamp(1.5rem,5vw,3rem)}.empty-state>*{margin-left:auto;margin-right:auto}.empty-state p{max-width:42rem;color:var(--muted);line-height:1.55}.stacked-form{flex-direction:column;gap:1rem;display:flex}.empty-state .stacked-form{text-align:left}.stacked-form.compact{max-width:32rem}.form-panel{margin-bottom:2rem;padding:clamp(1rem,4vw,2rem)}.form-layout{grid-template-columns:minmax(0,1.45fr) minmax(16rem,.75fr);gap:2rem;margin-top:1.5rem;display:grid}.form-grid.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.color-field>span{align-items:center;gap:.7rem;display:flex}.color-field input[type=color]{width:4rem;padding:.2rem}.preview-panel{text-align:center;background:#edf4f0;border-radius:.9rem;align-self:start;padding:1.25rem;position:sticky;top:1rem}.large-qr{border-radius:.4rem;width:min(100%,20rem);height:auto;margin:0 auto 1rem;display:block}.breakable{overflow-wrap:anywhere;margin-bottom:1rem;display:block}.qr-list{gap:1rem;margin-top:1rem;display:grid}.qr-card{border:1px solid var(--line);border-left:5px solid var(--brand-bright);background:#fff;border-radius:1rem;grid-template-columns:10.5rem minmax(0,1fr);gap:1.25rem;padding:1rem;display:grid;box-shadow:0 8px 24px #173b350f}.qr-card.status-paused{border-left-color:var(--warning)}.qr-card.status-archived{opacity:.82;border-left-color:#747d78}.card-qr{border:1px solid #e1e7e4;border-radius:.5rem;width:100%;height:auto;display:block}.qr-placeholder{min-height:9rem;color:var(--muted);background:#edf1ef;border-radius:.5rem;place-items:center;display:grid}.qr-card-content{min-width:0}.qr-title-row h3{margin:.45rem 0 .7rem}.status-pill{color:#13604e;text-transform:uppercase;background:#dff3eb;border-radius:999px;padding:.25rem .55rem;font-size:.7rem;font-weight:850;display:inline-flex}.status-pill.paused{color:#76500a;background:#fff2c9}.status-pill.archived{color:#505954;background:#e7ebe9}.status-pill.owner{color:#7a4c0d;background:#fbeccd}.status-pill.admin{color:#13604e;background:#dff3eb}.status-pill.analyst{color:#3a5b8c;background:#e3ecf8}.status-pill.pending{color:#6b4c9e;background:#efe8fb}.status-pill.free{color:#2f5e8c;background:#e3ecf8}.status-pill.paid{color:#13604e;background:#dff3eb}.status-pill.none{color:#505954;background:#e7ebe9}.admin-org-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.admin-org-row{border:1px solid var(--line);background:#fbfcfb;border-radius:.7rem;align-items:center;gap:.9rem;padding:.7rem .9rem;display:flex}.admin-org-info{flex-direction:column;flex:1;min-width:0;display:flex}.admin-limit{flex-direction:column;gap:.15rem;display:flex}.admin-limit select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:.5rem;padding:.3rem .5rem;font-size:.8rem}.member-list{margin:0;padding:0;list-style:none}.member-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;display:flex}.member-email{overflow-wrap:anywhere;font-weight:600}.pending-invites{margin-top:1rem}.pending-invites h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.85rem}.privacy-fieldset{border:1px solid var(--line);border-radius:.75rem;margin:.25rem 0 .5rem;padding:.75rem 1rem 1rem}.privacy-fieldset legend{color:var(--brand-bright);padding:0 .35rem;font-size:.85rem;font-weight:800}.check-row{cursor:pointer;align-items:flex-start;gap:.6rem;display:flex}.check-row input[type=checkbox]{accent-color:var(--brand-color,var(--brand));margin-top:.2rem}.check-row strong{margin-bottom:.15rem;display:block}.auth-divider{color:var(--muted);align-items:center;gap:.75rem;margin:.75rem 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-email-form .button{margin-top:.5rem}.billing-summary{padding:.25rem 0 .5rem}.billing-summary .status-pill{text-transform:capitalize}.billing-return{text-align:center}.button.danger{color:#fff;background:#c62828}.button.danger:hover{background:#b71c1c}.data-export summary{cursor:pointer;margin:.5rem 0;font-weight:800}.data-export pre{background:var(--surface,#0f1720);border:1px solid var(--line);border-radius:.6rem;max-height:18rem;padding:.75rem;font-size:.78rem;overflow:auto}.notice.success{color:#2e7d32;border-color:#2e7d32}.legal-consent{margin-top:.5rem}.legal-consent a{color:var(--brand-bright);text-decoration:underline}.app-legal{border-top:1px solid var(--line);padding:1rem 1.5rem 2.5rem}.app-legal nav{flex-wrap:wrap;justify-content:center;gap:1.25rem;font-size:.8rem;display:flex}.app-legal a{color:var(--muted);text-decoration:none}.app-legal a:hover{color:var(--brand-bright);text-decoration:underline}.legal-shell{background:var(--bg);min-height:100vh;padding:1.5rem}.legal-back{color:var(--brand-bright);margin-bottom:1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.legal-back:hover{text-decoration:underline}.legal-paper{background:var(--panel,#fff);border:1px solid var(--line);border-radius:1rem;max-width:44rem;margin:0 auto;padding:2rem 2.25rem}.legal-paper header h1{margin:.25rem 0;font-size:1.9rem}.legal-updated{color:var(--muted);font-size:.85rem}.legal-body{color:var(--text,#172033);line-height:1.6}.legal-body h2{margin:1.75rem 0 .5rem;font-size:1.15rem}.legal-body h3{margin:1.25rem 0 .35rem;font-size:1rem}.legal-body p,.legal-body li{font-size:.95rem}.legal-body a{color:var(--brand-bright)}.legal-footer{border-top:1px solid var(--line);color:var(--muted);margin-top:2.5rem;padding-top:1rem;font-size:.8rem}.legal-footer nav{gap:1rem;margin:.5rem 0;display:flex}.legal-footer a{color:var(--brand-bright);text-decoration:none}.legal-footer a:hover{text-decoration:underline}.scan-total{text-align:right;flex-direction:column;min-width:5rem;display:flex}.scan-total strong{color:var(--brand);font-size:1.65rem}.scan-total span{color:var(--muted);font-size:.7rem}.destination{flex-direction:column;gap:.2rem;min-width:0;display:flex}.destination span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:800}.destination a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.public-link{background:#f0f4f2;border-radius:.55rem;justify-content:space-between;align-items:center;gap:.5rem;margin:.8rem 0;padding:.55rem .7rem;display:flex}.public-link code{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.analytics-dialog{border:1px solid var(--line);border-radius:1rem;width:min(70rem,100% - 2rem);max-height:calc(100vh - 2rem);margin:auto;padding:clamp(1rem,4vw,2rem);position:fixed;inset:1rem;overflow:auto;box-shadow:0 30px 90px #0000004d}.analytics-dialog::backdrop{background:#081d19a8}.date-filter{background:#f0f5f2;border-radius:.8rem;flex-wrap:wrap;align-items:end;gap:.7rem;margin:1.5rem 0;padding:1rem;display:flex}.date-filter label{flex:10rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.metric-grid article{border:1px solid var(--line);background:#fff;border-radius:.8rem;padding:1rem}.metric-grid span{color:var(--muted);font-size:.74rem;font-weight:750;display:block}.metric-grid strong{color:var(--brand);margin-top:.2rem;font-size:1.8rem;display:block}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.bucket-section{border:1px solid var(--line);border-radius:.8rem;padding:1rem}.bucket-section h3{font-size:1rem}.bucket-list{gap:.65rem;padding:0;list-style:none;display:grid}.bucket-label{justify-content:space-between;gap:1rem;margin-bottom:.25rem;font-size:.78rem;display:flex}.bar-track{background:#e6ece9;border-radius:999px;height:.45rem;overflow:hidden}.bar-track span{border-radius:inherit;background:linear-gradient(90deg, var(--brand), var(--brand-bright));height:100%;display:block}@media (width<=800px){.form-layout,.analytics-grid{grid-template-columns:1fr}.preview-panel{position:static}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.app-header,.toolbar,.section-heading,.dialog-header{flex-direction:column;align-items:stretch}.account-menu{justify-content:space-between}.account-menu>span{text-overflow:ellipsis;max-width:65vw;overflow:hidden}.form-grid.two-column,.metric-grid,.qr-card{grid-template-columns:1fr}.qr-card-code{width:min(11rem,100%);margin:0 auto}.toolbar-actions .button,.card-actions .button{flex:auto}}@media (prefers-reduced-motion:reduce){.button{transition:none}.button:hover:not(:disabled){transform:none}}
