@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--px-bg:#f4f8fc;--px-surface:#fff;--px-elev:#dfedff;--px-text:#0e1e2f;--px-text-dim:#4a6a8d;--px-border:#bfd9f2;--px-input:#fff;--px-primary:#297acc;--px-primary-600:#2265a7;--px-primary-700:#1a4f82;--px-accent:#1a4f82;--px-muted-button:#1f3d66;--px-overlay:#0e1f30bf;--px-danger:#ff4d4f;--px-warning:#ffc53d;--px-shadow:0 20px 45px #1a4f8233;--px-radius-lg:18px;--px-radius-md:12px;--px-radius-sm:10px}[data-theme=dark]{--px-bg:#071321;--px-surface:#0c1f33;--px-elev:#123451;--px-text:#e7f1fa;--px-text-dim:#8aa8c7;--px-border:#18446a;--px-input:#0c1f33;--px-muted-button:#16395c;--px-overlay:#050f18d9;--px-shadow:0 16px 50px #030a1280}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background:radial-gradient(circle at top,#dfedffa6,transparent 45%),var(--px-bg);color:var(--px-text);font-family:var(--font-geist-sans),"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.app-shell{flex-direction:column;justify-content:flex-start;width:100%;min-height:100vh;margin:0 auto;padding:32px 20px 64px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:32px;display:flex}.page-header h1{color:var(--px-text);margin:4px 0;font-size:clamp(1.8rem,2.4vw,2.5rem)}.page-header p{color:var(--px-text-dim);max-width:620px}.page-header .actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.surface{background:var(--px-surface);border:1px solid var(--px-border);border-radius:var(--px-radius-lg);box-shadow:var(--px-shadow);padding:28px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.toolbar select,.toolbar input{background:var(--px-input);border:1px solid var(--px-border);color:var(--px-text);border-radius:var(--px-radius-sm);padding:10px 12px;font-size:.95rem}.toolbar select{flex:none;min-width:160px}.toolbar input{flex:220px}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.category-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.category-card{border:1px solid var(--px-border);border-radius:var(--px-radius-md);background:var(--px-surface);flex-direction:column;gap:12px;padding:16px;display:flex}.category-card__info{align-items:flex-start;gap:12px;display:flex}.category-card__swatch{border:1px solid #0000001a;border-radius:999px;flex-shrink:0;width:36px;height:36px}.category-card__logo{border-radius:var(--px-radius-sm);border:1px dashed var(--px-border);background:#fff9;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex;overflow:hidden}.category-card__logo img{object-fit:contain;width:100%;height:100%}.category-card__logo span{color:var(--px-text-dim);text-align:center;padding:4px;font-size:.7rem}.category-card__actions{justify-content:flex-end;gap:8px;display:flex}.category-card__details{flex:1;min-width:0}.category-card__details strong{color:var(--px-text);font-size:1rem;display:block}.category-card__details p{color:var(--px-text-dim);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:4px 0 0;font-size:.9rem;display:-webkit-box;overflow:hidden}.qr-card{border-radius:var(--px-radius-lg);border:1px solid var(--px-border);background:linear-gradient(135deg,var(--px-surface),var(--px-elev));flex-direction:column;gap:16px;min-height:280px;padding:20px;display:flex}.qr-card__badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.qr-card__badge--active{color:var(--px-primary-700);background:#297acc1f;border-color:#297acc66}.qr-card__badge--paused{color:#a46a00;background:#ffc53d26;border-color:#ffc53d66}.qr-card__badge--trashed{color:var(--px-danger);background:#ff4d4f26;border-color:#ff4d4f59}.qr-card__body{align-items:center;gap:1rem;display:flex}.qr-card__image{border-radius:12px;flex-shrink:0;width:110px;height:110px;position:relative;overflow:hidden}.qr-card__summary{color:var(--px-text-dim);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin-bottom:6px;display:-webkit-box;overflow:hidden}.qr-card__category{color:var(--px-text);align-items:center;gap:6px;margin:0;font-weight:600;display:inline-flex}.qr-card__author{color:var(--px-text-dim);margin:4px 0 0;font-size:.85rem}.qr-card__category-dot{border:1px solid #00000026;border-radius:999px;width:12px;height:12px}.qr-card__text{flex:1}.qr-card__meta{display:none}.qr-card__actions{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.btn.icon-only{justify-content:center;min-width:40px;padding:8px}.btn{border-radius:var(--px-radius-sm);cursor:pointer;background:var(--px-primary);color:#fff;border:none;align-items:center;gap:6px;min-height:40px;padding:10px 16px;font-size:.95rem;font-weight:600;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{background:var(--px-muted-button);color:#fff}.btn--primary{background:linear-gradient(135deg,var(--px-primary),var(--px-primary-600));box-shadow:0 12px 24px #297acc40}.btn--danger{background:var(--px-danger)}.empty-state{text-align:center;border:1px dashed var(--px-border);border-radius:var(--px-radius-md);color:var(--px-text-dim);padding:48px 16px}.qr-modal{background:var(--px-overlay);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.qr-modal__panel{background:var(--px-surface);border-radius:var(--px-radius-lg);border:1px solid var(--px-border);width:min(720px,100%);box-shadow:var(--px-shadow);max-height:90vh;padding:28px;position:relative;overflow-y:auto}.qr-modal__close{color:var(--px-text-dim);cursor:pointer;background:0 0;border:none;font-size:1.5rem;line-height:1;position:absolute;top:16px;right:16px}.form-grid{gap:16px;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--px-text-dim);font-size:.82rem}.form-group input,.form-group textarea,.form-group select{border-radius:var(--px-radius-sm);border:1px solid var(--px-border);background:var(--px-input);color:var(--px-text);padding:12px;font-size:.95rem}.form-group textarea{resize:vertical;min-height:120px}.form-group[data-invalid=true] label{color:var(--px-danger)}.form-group[data-invalid=true] input,.form-group[data-invalid=true] textarea,.form-group[data-invalid=true] select{border-color:var(--px-danger);box-shadow:0 0 0 1px #ff4d4f33}.form-error{color:var(--px-danger);font-size:.8rem}.required-indicator{color:var(--px-danger);gap:4px;font-weight:600;line-height:1;display:inline-flex}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-required-hint{color:var(--px-text-dim);margin:-4px 0 16px;font-size:.85rem}.inline-link{color:var(--px-primary-700);font-weight:600;text-decoration:none}.category-select{align-items:center;gap:10px;display:flex}.category-select select{flex:1}.category-select__swatch{border:1px solid #00000026;border-radius:999px;width:28px;height:28px;box-shadow:inset 0 0 0 2px #ffffff59}.logo-upload{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.logo-upload__preview{border-radius:var(--px-radius-sm);border:1px dashed var(--px-border);background:#fff6;justify-content:center;align-items:center;width:90px;height:90px;display:flex;overflow:hidden}.logo-upload__preview img{object-fit:contain;width:100%;height:100%}.logo-upload__preview span{color:var(--px-text-dim);text-align:center;padding:6px;font-size:.8rem}.logo-upload__actions{flex-direction:column;gap:8px;display:flex}.logo-upload__actions input[type=file]{border:1px dashed var(--px-border);border-radius:var(--px-radius-sm);padding:8px}.logo-upload__actions small{color:var(--px-text-dim)}.field-label{align-items:center;gap:6px;display:inline-flex}[data-tooltip]{cursor:help;color:var(--px-text-dim);position:relative}[data-tooltip]:after{content:attr(data-tooltip);background:var(--px-text);color:var(--px-surface);opacity:0;pointer-events:none;z-index:20;border-radius:8px;width:max-content;max-width:220px;padding:6px 10px;font-size:.75rem;line-height:1.3;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0f172a40}[data-tooltip]:hover:after,[data-tooltip]:focus:after{opacity:1}.destination-card{border-radius:var(--px-radius-md);border:1px solid var(--px-border);background:var(--px-surface);flex-direction:column;gap:12px;padding:16px;display:flex}.destination-list{flex-direction:column;gap:14px;display:flex}.helper-callout{border-radius:var(--px-radius-md);color:var(--px-text);background:#297acc1f;border:1px solid #297acc4d;padding:16px;font-size:.9rem}.language-switcher{position:relative}.language-switcher__menu{background:var(--px-surface);border:1px solid var(--px-border);border-radius:var(--px-radius-md);box-shadow:var(--px-shadow);z-index:80;min-width:200px;padding:6px;position:absolute;top:calc(100% + .4rem);right:0}.language-switcher__option{text-align:left;width:100%;color:var(--px-text);border-radius:var(--px-radius-sm);cursor:pointer;background:0 0;border:none;padding:8px 10px;font-size:.9rem}.language-switcher__option[data-active=true]{color:var(--px-primary-700);background:#297acc24}.language-switcher__option:hover{background:#bfd9f273}.language-switcher__trigger{background:var(--px-surface);border:1px solid var(--px-border);width:40px;height:40px;color:var(--px-text);border-radius:50%;justify-content:center;padding:0;box-shadow:0 4px 12px #0f172a1f}.help-modal__header{justify-content:space-between;gap:16px;margin-bottom:16px;display:flex}.help-modal__kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--px-text-dim);margin:0 0 6px;font-size:.85rem}.help-modal__icon{background:var(--px-elev);width:48px;height:48px;color:var(--px-primary-700);border-radius:12px;justify-content:center;align-items:center;display:flex}.help-modal__list{flex-direction:column;gap:12px;margin:0 0 24px;padding:0;list-style:none;display:flex}.help-modal__list li{border-radius:var(--px-radius-md);border:1px solid var(--px-border);background:var(--px-input);color:var(--px-text);padding:12px 14px}.help-modal__actions{justify-content:flex-end;display:flex}.auth-wrapper{justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:40px 16px;display:flex}.auth-card{width:min(520px,100%)}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form header{margin-bottom:8px}.auth-form label{color:var(--px-text-dim);font-size:.9rem}.auth-form input{background:var(--px-input);border:1px solid var(--px-border);border-radius:var(--px-radius-sm);width:100%;color:var(--px-text);padding:12px 14px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.auth-form input:focus{border-color:var(--px-primary);outline:none;box-shadow:0 0 0 3px #297acc40}.auth-form input[type=color]{border-radius:var(--px-radius-sm);cursor:pointer;appearance:none;background:var(--px-surface);border:1px solid var(--px-border);width:auto;min-width:52px;height:52px;padding:0;display:inline-flex;overflow:hidden}.auth-form input[type=color]::-webkit-color-swatch-wrapper{border-radius:inherit;padding:0}.auth-form input[type=color]::-webkit-color-swatch{border-radius:inherit;background:0 0;border:none}.auth-form input[type=color]::-moz-focus-inner{border:0;padding:0}.auth-form input[type=color]::-moz-color-swatch{border-radius:inherit;border:none}.auth-form .form-group input[type=color]{flex:0 0 52px;justify-content:center;align-items:center;width:auto;min-width:52px}.auth-actions{flex-wrap:wrap;gap:12px;display:flex}.auth-note{border-radius:var(--px-radius-md);color:var(--px-text);background:#297acc1f;border:1px solid #297acc40;padding:12px;font-size:.9rem}.trash-shell{width:100%;min-height:100vh;margin:0 auto;padding:48px 20px 80px}.theme-toggle{border:1px solid var(--px-border);background:var(--px-surface);width:40px;height:40px;color:var(--px-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:transform .1s,filter .2s;display:inline-flex;box-shadow:0 4px 12px #0f172a1f}.theme-toggle:hover{filter:brightness(1.05)}.theme-toggle:active{transform:translateY(1px)}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){.app-shell{padding:32px 16px 56px}.surface{padding:20px}.page-header{flex-direction:column;align-items:flex-start}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}
