*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f5f5f7;--color-surface:#fff;--color-text:#1d1d1f;--color-text-muted:#6e6e73;--color-primary:#0071e3;--color-primary-hover:#0077ed;--color-error:#d70015;--color-border:#d2d2d7;--radius:8px;--gap:16px}html{color:var(--color-text);background:var(--color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}body{min-height:100dvh}#root{max-width:1100px;margin:0 auto;padding:24px}.qr-generator__header{margin-bottom:24px}.qr-generator__header h1{font-size:1.75rem;font-weight:700}.qr-generator__subtitle{color:var(--color-text-muted);margin-top:4px}.qr-generator__input{margin-bottom:24px}.qr-generator__input label{margin-bottom:6px;font-weight:600;display:block}.qr-generator__input .required{color:var(--color-error)}.qr-generator__input input[type=url]{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;padding:10px 12px;font-size:1rem}.qr-generator__input input[type=url]:focus{outline:2px solid var(--color-primary);outline-offset:1px}.qr-generator__input input[aria-invalid=true]{border-color:var(--color-error)}.error{color:var(--color-error);margin-top:6px;font-size:.875rem}.qr-generator__body{grid-template-columns:320px 1fr;align-items:start;gap:32px;display:grid}@media (width<=800px){.qr-generator__body{grid-template-columns:1fr}}.design-controls{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:16px;padding:20px;display:flex}.design-controls__header{justify-content:space-between;align-items:center;display:flex}.design-controls__header h2{font-size:1.125rem}.design-controls fieldset{border:none;padding:0}.design-controls legend{margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.option-row{gap:8px;display:flex}.option-btn{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;text-align:center;flex:1;justify-content:center;align-items:center;padding:6px 10px;font-size:.8125rem;transition:background .15s;display:flex}.option-btn input[type=radio]{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.option-btn:hover{background:var(--color-bg)}.option-btn--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.color-row{gap:16px;display:flex}.color-row label{flex-direction:column;gap:4px;font-size:.8125rem;display:flex}.color-row input[type=color]{border:1px solid var(--color-border);cursor:pointer;border-radius:4px;width:48px;height:32px;padding:0}.design-controls label{flex-direction:column;gap:4px;font-size:.8125rem;display:flex}.design-controls input[type=range]{width:100%}.design-controls select{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;padding:6px 8px;font-size:.875rem}.file-label{cursor:pointer}.file-label input[type=file]{margin-top:4px;font-size:.8125rem;display:block}.logo-controls{flex-direction:column;gap:10px;margin-top:10px;display:flex}.qr-generator__preview-area{flex-direction:column;gap:20px;display:flex}.qr-preview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.qr-preview__label{margin-bottom:12px;font-size:.875rem;font-weight:600}.qr-preview__container{justify-content:center;align-items:center;min-height:200px;display:flex}.qr-preview--empty .qr-preview__placeholder{color:var(--color-text-muted);text-align:center;padding:40px 0;font-size:.9375rem}.export-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.export-panel__reminder{border-radius:var(--radius);background:#fff8e1;border:1px solid #ffe082;margin-bottom:16px;padding:12px 16px;font-size:.875rem;line-height:1.5}.export-panel__actions{gap:12px;display:flex}.btn{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:8px 16px;font-size:.875rem;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover)}.btn--primary:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{color:var(--color-primary);border-color:var(--color-border);background:0 0}.btn--ghost:hover{background:var(--color-bg)}.btn--sm{padding:4px 10px;font-size:.8125rem}.qr-generator__checklist{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-top:32px;padding:20px}.qr-generator__checklist h3{margin-bottom:10px;font-size:1rem}.qr-generator__checklist ul{color:var(--color-text-muted);flex-direction:column;gap:4px;padding-left:20px;font-size:.9375rem;list-style:outside;display:flex}.app-nav{justify-content:space-between;align-items:center;gap:16px;max-width:1100px;margin:0 auto;padding:16px 24px 0;display:flex}.app-nav>div{gap:4px;display:flex}.app-nav__link{border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;font:inherit;background:0 0;border:0;padding:8px 12px}.app-nav__link:hover,.app-nav__link--active{color:var(--color-primary);background:var(--color-surface)}.managed-qr-page{max-width:1100px;margin:0 auto;padding:48px 24px}.managed-qr-page__header{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.eyebrow{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.managed-qr-page h1{margin-top:4px;font-size:2rem;line-height:1.2}.managed-qr-page__subtitle{color:var(--color-text-muted);margin-top:8px}.button{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;white-space:nowrap;padding:8px 14px}.button:hover{border-color:var(--color-primary);color:var(--color-primary)}.button--primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.button--primary:hover{background:var(--color-primary-hover);color:#fff}.managed-qr-page__toolbar{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-direction:column;gap:16px;padding:20px;display:flex}.search-field{flex-direction:column;gap:6px;font-weight:600;display:flex}.search-field input{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font:inherit;padding:10px 12px}.search-field input:focus,.app-nav__link:focus-visible,.button:focus-visible,.filter-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.filter-list{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font:inherit;border-radius:999px;padding:6px 12px;font-size:.875rem}.filter-chip--active{border-color:var(--color-primary);color:var(--color-primary);background:#e8f2fc}.managed-qr-page__results{margin-top:32px}.managed-qr-page__results-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.managed-qr-page__results-header h2{font-size:1.25rem}.managed-qr-page__results-header span{color:var(--color-text-muted);font-size:.875rem}.managed-qr-list{flex-direction:column;gap:12px;display:flex}.managed-qr-card,.managed-qr-empty{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:20px}.managed-qr-card{justify-content:space-between;align-items:center;gap:24px;display:flex}.managed-qr-card__title-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.managed-qr-card h3{font-size:1rem}.managed-qr-card__code{color:var(--color-primary);margin-top:4px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.875rem}.managed-qr-card__destination{overflow-wrap:anywhere;margin-top:6px}.managed-qr-card__meta{color:var(--color-text-muted);margin-top:8px;font-size:.8125rem}.status-badge{border-radius:999px;padding:3px 8px;font-size:.75rem;font-weight:600}.status-badge--active{color:#18743a;background:#e4f5e9}.status-badge--expired,.status-badge--disabled{color:#a52222;background:#fce8e8}.managed-qr-card__actions{gap:8px;display:flex}.managed-qr-empty p{color:var(--color-text-muted);margin-top:4px}@media (width<=640px){.app-nav,.managed-qr-page__header,.managed-qr-card{flex-direction:column;align-items:stretch}.app-nav>div,.managed-qr-card__actions{width:100%}.app-nav__link,.managed-qr-card__actions .button{flex:1}.managed-qr-page{padding-top:32px}}
