@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_8b3a0b{font-family:Inter,Inter Fallback;font-style:normal}.__variable_8b3a0b{--font-inter:"Inter","Inter Fallback"}:root{--color-background:#fafafa;--color-surface:#ffffff;--color-text:#1a1a1a;--color-text-muted:#5c6066;--color-accent:#dc0018;--color-accent-hover:#a3000f;--color-accent-contrast:#ffffff;--color-border:#e3e5e8;--color-success:#1e7a4c;--color-success-bg:#e6f1ea;--color-error:#b45309;--radius:12px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-inter),system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--color-text);background:var(--color-background)}main:not(.login-page){max-width:640px;margin:3rem auto;padding:2rem;background:var(--color-surface);border-radius:var(--radius);box-shadow:0 1px 3px rgba(0,0,0,.06)}@media (min-width:960px){main.dashboard-page:not(.login-page){max-width:1200px}}h1{margin-top:0}form{display:flex;flex-direction:column;gap:1rem}label{display:block;margin-bottom:6px;font-size:12.5px;font-weight:500;color:var(--color-text-muted)}input{display:block;width:100%;height:38px;padding:0 .75rem;border:1px solid var(--color-border);border-radius:7px;font-size:1rem;font-family:inherit}.button,.button-secondary,button{display:inline-block;padding:.6rem 1.2rem;border:none;border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font-family:inherit;font-weight:600;font-size:1rem;text-decoration:none;text-align:center;cursor:pointer}.button:hover,button:hover{background:var(--color-accent-hover)}.button-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);font-weight:500}.button-secondary:hover{background:var(--color-background)}button:disabled{opacity:.6;cursor:not-allowed}[role=alert]{color:var(--color-error);font-size:.9rem}[role=status]{color:var(--color-success);font-size:.9rem}.logo{display:inline-flex;align-items:center;gap:.6rem;color:var(--color-text);text-decoration:none}.logo-text{display:flex;flex-direction:column;line-height:1.25}.logo-wordmark{font-weight:600;font-size:1.1rem;color:var(--color-text)}.logo-subtext{font-size:11px;font-weight:400;color:var(--color-text-muted)}.login-page{min-height:100vh;flex-direction:column;align-items:center;padding:2rem 1.5rem}.login-logo,.login-page{display:flex;justify-content:center}.login-logo{margin-bottom:1.5rem}.login-card{width:100%;max-width:340px;padding:30px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 1px 3px rgba(0,0,0,.06)}.login-card h1{margin:0 0 1.25rem;font-size:20px;font-weight:700}.login-card form button[type=submit]{display:block;width:100%;height:40px}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.app-header-inner{max-width:1200px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}@media (min-width:960px){.app-header-inner{padding:1rem 2rem}}.page-header{margin-bottom:1.5rem}.page-header h1{margin:0}.dashboard-shell{margin-top:1.5rem}@media (min-width:960px){.dashboard-shell{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:start;grid-gap:0;gap:0}.dashboard-list-col{padding-right:2rem;border-right:1px solid var(--color-border)}.dashboard-detail-col{padding-left:2rem;min-width:0}}@media (max-width:959px){.dashboard-shell--detail .dashboard-list-col,.dashboard-shell--index .dashboard-detail-col{display:none}}.dashboard-overview{margin-top:1.5rem;padding:1.1rem 1.25rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background)}.dashboard-overview-total{margin:0;font-size:.95rem}.dashboard-overview-total-count{font-size:1.3rem;font-weight:600}.dashboard-overview-ranking{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.dashboard-overview-ranking-item{display:flex;align-items:center;gap:.6rem;font-size:.9rem}.dashboard-overview-ranking-position{color:var(--color-text-muted);min-width:1.2rem}.dashboard-overview-ranking-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-overview-ranking-count{color:var(--color-text-muted);font-size:.85rem}@media (min-width:960px){.dashboard-back-link{display:none}}.empty-state{text-align:center;padding:2rem 0;color:var(--color-text-muted)}.qr-list{list-style:none;padding:0;margin:1.5rem 0 0;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.qr-list li+li{border-top:1px solid var(--color-border)}.qr-list-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;color:var(--color-text);text-decoration:none;border-left:3px solid transparent}.qr-list-item:hover{background:var(--color-background)}.qr-list-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}@media (min-width:960px){.qr-list-item--active{background:var(--color-background);border-left-color:var(--color-accent)}.qr-list-item--active .qr-label{color:var(--color-accent-hover)}}.qr-label{font-weight:600;flex:1 1}.qr-label-row{display:flex;align-items:center;gap:.45rem;flex:1 1;min-width:0}.qr-label-row .qr-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.qr-type-icon-only{flex-shrink:0}.qr-type-icon-only,.qr-type-pill{display:inline-flex;align-items:center;color:var(--color-text-muted)}.qr-type-pill{gap:.3rem;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-background);font-size:.75rem;font-weight:500}.qr-detail-type-pill{margin-right:.5rem}.qr-status{font-size:.85rem;padding:.15rem .6rem;border-radius:999px;background:var(--color-success-bg);color:var(--color-success)}.qr-status-archived{background:var(--color-background);color:var(--color-text-muted)}.qr-scan-count{font-size:.85rem;color:var(--color-text-muted)}.qr-scan-count,.tabular-nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (min-width:960px){.dashboard-list-col .qr-list-item{flex-wrap:wrap;row-gap:.35rem}.dashboard-list-col .qr-label-row{flex-basis:100%}.dashboard-list-col .button{display:block;width:100%;margin-bottom:1rem}}.qr-form-layout{gap:1.5rem}.qr-form-layout,.qr-preview{display:flex;flex-direction:column}.qr-preview{align-items:center;gap:.75rem;padding:1.5rem;border:1px dashed var(--color-border);border-radius:var(--radius)}.qr-preview-placeholder{width:200px;height:200px;border-radius:8px;background:var(--color-background)}.qr-preview-url{font-size:.8rem;color:var(--color-text-muted);word-break:break-all;text-align:center}.qr-preview-actions{display:flex;gap:.75rem}.qr-type-step{display:flex;flex-direction:column;gap:1.5rem}.qr-type-picker{border:none;padding:0;margin:0}.qr-type-picker legend{padding:0;font-size:12.5px;font-weight:500;color:var(--color-text-muted);margin-bottom:.75rem}.qr-type-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:480px){.qr-type-cards{grid-template-columns:1fr}}.qr-type-card{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:1rem;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;background:var(--color-surface)}.qr-type-card:hover{background:var(--color-background)}.qr-type-card:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}.qr-type-card-input{position:absolute;top:.9rem;right:.9rem;width:16px;height:16px;margin:0}.qr-type-card-icon{color:var(--color-text-muted)}.qr-type-card--selected{border-color:var(--color-accent);background:var(--color-background)}.qr-type-card--selected .qr-type-card-icon,.qr-type-card--selected .qr-type-card-title{color:var(--color-accent-hover)}.qr-type-card-title{font-weight:600;font-size:.95rem}.qr-type-card-description{font-size:.8rem;color:var(--color-text-muted);line-height:1.4}.form-row-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:480px){.form-row-2{grid-template-columns:1fr}}.vcard-contact-fields{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:1rem}.vcard-contact-fields legend{padding:0;font-size:12.5px;font-weight:500;color:var(--color-text-muted);margin-bottom:6px}.form-hint{margin:.4rem 0 0;font-size:.85rem;color:var(--color-text-muted)}.form-hint--ok{color:var(--color-success)}.contact-preview{padding:1rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background)}.contact-preview-name{margin:0;font-weight:600;font-size:1.05rem}.contact-preview-role{margin:.15rem 0 0;color:var(--color-text-muted);font-size:.9rem}.contact-preview-list{list-style:none;margin:.6rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem;font-size:.85rem;color:var(--color-text)}.contact-preview-placeholder{margin:0;color:var(--color-text-muted);font-size:.9rem;text-align:center}.scan-trend{margin:1.5rem 0;padding:1.1rem 1.25rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background)}.scan-trend-heading{margin:0 0 .75rem;font-size:.9rem;font-weight:600}.scan-trend-chart{display:flex;flex-direction:column;gap:.35rem}.scan-trend-svg{display:block;width:100%;height:100px}.scan-trend-baseline{stroke:var(--color-border);stroke-width:1}.scan-trend-area{stroke:none;fill:var(--color-accent);fill-opacity:.08}.scan-trend-line{fill:none;stroke:var(--color-accent);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.scan-trend-dot{fill:var(--color-accent)}.scan-trend-axis-labels{display:flex;justify-content:space-between;color:var(--color-text-muted);font-size:.75rem}.scan-trend-total{margin:.6rem 0 0;color:var(--color-text-muted);font-size:.85rem}.vcard-content-preview{border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem 1rem}.vcard-content-preview summary{cursor:pointer;font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.vcard-content-preview-text{margin:.75rem 0 0;padding:.75rem;background:var(--color-background);border-radius:6px;font-size:.8rem;white-space:pre-wrap;word-break:break-word}.dynamic-field-category-label{margin:0 0 .5rem;font-size:12.5px;font-weight:500;color:var(--color-text-muted)}.dynamic-field-group{margin-bottom:1rem}.dynamic-field-group,.dynamic-field-list{display:flex;flex-direction:column;gap:.75rem}.dynamic-field-entry{padding:.85rem 1rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-background)}.dynamic-field-entry:focus{outline:2px solid var(--color-accent);outline-offset:2px}.dynamic-field-entry-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem}.dynamic-field-entry-index{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.dynamic-field-preferred{font-weight:400}.dynamic-field-entry-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.dynamic-field-make-preferred,.dynamic-field-remove{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;border:none;border-radius:6px;background:none;color:var(--color-text-muted);font-size:.8rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap}.dynamic-field-remove:hover{background:var(--color-surface);color:var(--color-error)}.dynamic-field-make-preferred:hover{background:var(--color-surface);color:var(--color-accent-hover)}.dynamic-field-make-preferred:focus-visible,.dynamic-field-remove:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dynamic-field-entry input,.dynamic-field-type-toggle{background:var(--color-surface)}.dynamic-field-type-toggle{display:inline-flex;flex-wrap:wrap;gap:2px;padding:2px;border:1px solid var(--color-border);border-radius:999px;margin-bottom:.65rem}.dynamic-field-type-option-label{display:inline-block;padding:.3rem .75rem;border-radius:999px;font-size:.8rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dynamic-field-type-option input:checked+.dynamic-field-type-option-label{background:var(--color-accent);color:var(--color-accent-contrast)}.dynamic-field-type-option input:focus-visible+.dynamic-field-type-option-label{outline:2px solid var(--color-accent);outline-offset:2px}.dynamic-field-add-button{align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;font-size:.85rem}.dynamic-field-limit-hint{margin:0}.contact-preview-type{color:var(--color-text-muted);margin-right:.35rem}