.qr-generator{position:relative;width:592px;max-width:100%;padding:36px;border:0;border-radius:0;background:#f7f2fe;color:#2c2c2c;font-family:"Inter Display","Inter",Arial,sans-serif}.qr-generator::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,#deccfc 0 2px,transparent 2.1px) left top/16px 4px repeat-x,radial-gradient(circle,#deccfc 0 2px,transparent 2.1px) left bottom/16px 4px repeat-x,radial-gradient(circle,#deccfc 0 2px,transparent 2.1px) left top/4px 16px repeat-y,radial-gradient(circle,#deccfc 0 2px,transparent 2.1px) right top/4px 16px repeat-y}.qr-generator,.qr-generator *,.qr-generator ::after,.qr-generator ::before{box-sizing:border-box}.qr-generator button,.qr-generator input,.qr-generator select,.qr-generator textarea{font:inherit;letter-spacing:0}.qr-generator__title{margin:0 0 36px;font-family:Fact,"Inter Display","Inter",Arial,sans-serif;font-size:20px;font-weight:700;line-height:24px;text-transform:uppercase}.qr-generator__section{margin-top:36px}.qr-generator__section:first-of-type{margin-top:0}.qr-generator__section-title{margin:0 0 18px;color:#2c2c2c;font-size:18px;font-weight:700;line-height:24px}.qr-generator__section:first-of-type .qr-generator__section-title{font-size:16px}.qr-generator__type-list{display:block}.qr-generator__type-select{max-width:100%}.qr-generator__format-button,.qr-generator__icon-button,.qr-generator__option,.qr-generator__tab,.qr-generator__type-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #dcdcdc;border-radius:12px;background:#fff;color:#2c2c2c;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,opacity .15s ease}.qr-generator__type-button{min-width:88px;min-height:40px;padding:9px 17px;font-size:15px;line-height:20px;text-align:center}.qr-generator__type-button.is-active{border-color:#6200ee;background:#6200ee;color:#fff}.qr-generator__tab.is-active{background:#6200ee;color:#fff}.qr-generator__format-button.is-active,.qr-generator__option.is-active{border-color:#6200ee;background:#6200ee;color:#fff}.qr-generator__tab.is-active{border-color:#2c2b2d;background:#2c2b2d}.qr-generator__button:focus-visible,.qr-generator__format-button:focus-visible,.qr-generator__icon-button:focus-visible,.qr-generator__input:focus-visible,.qr-generator__option:focus-visible,.qr-generator__select:focus-visible,.qr-generator__tab:focus-visible,.qr-generator__textarea:focus-visible,.qr-generator__type-button:focus-visible,.qr-generator__upload:focus-visible{outline:3px solid rgba(98,0,238,.28);outline-offset:2px}.qr-generator__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.qr-generator__field{min-width:0}.qr-generator__field--full{grid-column:1/-1}.qr-generator__color-label,.qr-generator__format-label,.qr-generator__label{display:block;margin:0 0 12px;color:#2c2c2c;font-size:13px;font-weight:400;line-height:16px}.qr-generator__upload-hint{display:block;font-weight:400}.qr-generator__input{min-height:48px}.qr-generator__input,.qr-generator__select,.qr-generator__textarea{width:100%;padding:17px 18px;border:1px solid #dcdcdc;border-radius:12px;background:#fff;color:#2c2c2c;font-size:16px;line-height:24px}.qr-generator__select{min-height:48px}.qr-generator__textarea{min-height:88px;resize:vertical}.qr-generator__input::placeholder,.qr-generator__textarea::placeholder{color:#7d7d7d;opacity:1}.qr-generator__type-select{padding-right:64px;appearance:none;background:url("data:image/svg+xml,%3Csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%232C2C2C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")right 32px center/14px 8px no-repeat,#fff}.qr-generator__input.is-invalid,.qr-generator__select.is-invalid,.qr-generator__textarea.is-invalid{border-color:var(--red)}.qr-generator__error{display:none;margin-top:12px;color:var(--red);font-size:13px;line-height:16px;text-wrap:balance}.qr-generator__error.is-visible{display:block}.qr-generator__settings{display:grid;grid-template-columns:1fr;gap:18px}.qr-generator__input-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.qr-generator__tab{min-height:40px;padding:9px 15px;font-size:15px;line-height:20px}.qr-generator__panel-title{margin:0 0 18px;font-size:16px;font-weight:600;line-height:24px}.qr-generator__panel-group{margin-top:18px}.qr-generator__panel-group:first-child{margin-top:0}.qr-generator__option-list{display:flex;flex-wrap:wrap;gap:12px}.qr-generator__option{min-width:88px;min-height:40px;padding:9px 15px;font-size:14px;line-height:20px}.qr-generator__checkbox{display:inline-flex;align-items:center;gap:12px;margin-top:18px;color:#2c2c2c;font-size:13px;line-height:16px;cursor:pointer}.qr-generator__checkbox input{width:18px;height:18px;accent-color:#6200ee}.qr-generator__checkbox--locked{cursor:default;opacity:.85}.qr-generator__upload{display:flex;min-height:112px;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:18px;border:1px dashed #b7a5dd;border-radius:12px;background:#fff;text-align:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}.qr-generator__upload.is-dragover{border-color:#6200ee;background:#f2eafe;box-shadow:0 0 0 3px rgba(98,0,238,.16)}.qr-generator__upload input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.qr-generator__upload-title{max-width:280px;font-size:15px;line-height:20px}.qr-generator__upload-hint{margin:0;color:#7d7d7d;font-size:14px;line-height:20px}.qr-generator__hint,.qr-generator__notice{margin:9px 0 0;color:#7d7d7d;font-size:13px;line-height:18px}.qr-generator__notice{margin:12px 0 0;padding:12px;border-radius:12px;background:#fff;color:#2c2c2c}.qr-generator__notice--warning{color:#9b5c00}.qr-generator__notice--error{color:var(--red)}.qr-generator__csv-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.qr-generator__csv-stat{padding:10px;border-radius:12px;background:#fff;font-size:13px;line-height:18px}.qr-generator__csv-errors{margin:12px 0 0;padding:0;list-style:none;color:var(--red);font-size:13px;line-height:18px}.qr-generator__csv-errors li+li{margin-top:6px}.qr-generator__result{display:flex;gap:30px}.qr-generator__preview,.qr-generator__preview-card{display:flex;align-items:center;justify-content:center}.qr-generator__preview-card{width:244px;height:244px;flex:0 0 244px;border:1px solid #dcdcdc;border-radius:20px;background:#fff}.qr-generator__preview{width:210px;min-height:210px;text-align:center}.qr-generator__preview svg{display:block;max-width:100%;max-height:210px;height:auto}.qr-generator__actions{width:280px;min-width:0}.qr-generator__format-list{display:flex;gap:12px;margin-bottom:18px}.qr-generator__format-button{width:60px;height:40px;font-size:14px;line-height:20px}.qr-generator__button{display:inline-flex;width:100%;min-height:48px;align-items:center;justify-content:center;padding:18px 24px;border:1px solid #6200ee;border-radius:12px;background:#6200ee;color:#fff;cursor:pointer;font-size:18px;font-weight:600;line-height:24px;text-align:center}.qr-generator__button:disabled,.qr-generator__format-button:disabled{cursor:default;opacity:.55}.qr-generator__helper{margin:18px 0 0;color:#7d7d7d;font-size:14px;line-height:20px}.qr-generator__warning{margin:12px 0 0;color:var(--purple);font-size:13px;line-height:18px}.qr-generator__progress{margin-top:18px;color:#2c2c2c;font-size:14px;line-height:20px}@media (max-width:767.98px){.qr-generator{width:100%;max-width:336px;margin-inline:auto;padding:24px}.qr-generator__type-list{display:block}.qr-generator__type-select{width:100%}.qr-generator__fields{grid-template-columns:1fr}.qr-generator__input,.qr-generator__select,.qr-generator__textarea{min-height:40px;padding-top:11px;padding-bottom:11px;font-size:16px;line-height:20px}.qr-generator__csv-summary{grid-template-columns:1fr}.qr-generator__result{flex-direction:column;gap:24px}.qr-generator__preview-card{width:216px;height:216px;flex-basis:216px;margin:0 auto}.qr-generator__preview{width:186px;min-height:186px}.qr-generator__preview svg{max-height:186px}.qr-generator__actions{width:100%}.qr-generator__format-list{display:grid;grid-template-columns:repeat(3,1fr)}.qr-generator__format-button{width:100%}}