.generator-shell{display:grid;gap:24px;max-width:1180px;margin:0 auto}.generator-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:4px 2px}.generator-eyebrow{display:block;margin-bottom:8px;color:#9f68ff;font-size:12px;font-weight:800;letter-spacing:.16em}.generator-hero h2{margin:0;color:#f6f7fb;font-size:clamp(28px,4vw,42px);line-height:1.08}.generator-hero p{max-width:720px;margin:10px 0 0;color:#919bb0;line-height:1.65}.generator-local-badge{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:10px 13px;border:1px solid #29364e;border-radius:999px;background:#111827;color:#aeb7c9;font-size:12px;font-weight:700}.generator-local-badge svg{width:17px;height:17px;fill:#55dca8}.generator-format-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.generator-format-card{position:relative;display:flex;align-items:center;gap:11px;min-width:0;padding:14px;border:1px solid #263148;border-radius:15px;background:linear-gradient(145deg,#101727,#0c1220);color:#e8ebf3;text-align:left;cursor:pointer;transition:border-color .18s ease,transform .18s ease,background .18s ease,box-shadow .18s ease}.generator-format-card:hover{transform:translateY(-1px);border-color:#465678}.generator-format-card.is-active{border-color:#9c4ee8;background:linear-gradient(145deg,rgba(154,61,221,.18),rgba(50,76,224,.13));box-shadow:0 0 0 1px rgba(160,70,231,.08),0 10px 28px rgba(35,25,70,.18)}.generator-format-mark{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid #33405b;border-radius:10px;background:#0a0f1b;color:#aab5ca;font-size:11px;font-weight:900;letter-spacing:-.03em}.generator-format-card.is-active .generator-format-mark{border-color:rgba(179,92,239,.55);background:rgba(164,61,225,.16);color:#d9a9ff}.generator-format-copy{display:grid;gap:3px;min-width:0}.generator-format-copy strong{font-size:13px;white-space:nowrap}.generator-format-copy small{overflow:hidden;color:#7f8ba3;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.generator-format-check{position:absolute;top:7px;right:8px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#a33ae3;color:#fff;font-size:10px;font-weight:900;opacity:0;transform:scale(.8);transition:.18s}.generator-format-card.is-active .generator-format-check{opacity:1;transform:scale(1)}.generator-workbench{display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:18px;align-items:start}.generator-editor,.generator-preview-card{border:1px solid #253149;border-radius:20px;background:linear-gradient(155deg,#0f1626,#0a101d);box-shadow:0 16px 40px rgba(0,0,0,.08)}.generator-editor{padding:24px}.generator-field{display:grid;gap:11px}.generator-label-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.generator-label-row strong{color:#eef1f7;font-size:14px}.generator-label-row span{max-width:270px;color:#7f8ba3;font-size:11px;line-height:1.45;text-align:right}.generator-field .form-control{width:100%;min-height:56px;padding:0 16px;border:1px solid #2b3852;border-radius:13px;outline:none;background:#0a101c;color:#f2f4f9;font:inherit;transition:border-color .16s,box-shadow .16s}.generator-field .form-control:focus{border-color:#9f4ee5;box-shadow:0 0 0 3px rgba(159,78,229,.11)}.generator-field .form-control::placeholder{color:#56637a}.generator-message{display:flex;align-items:flex-start;gap:9px;margin-top:14px;padding:12px 13px;border-radius:12px;font-size:12px;line-height:1.55}.generator-message svg{flex:0 0 17px;width:17px;height:17px;margin-top:1px}.generator-message-error{border:1px solid rgba(255,93,120,.3);background:rgba(193,43,70,.11);color:#ff9caf}.generator-message-error svg{fill:#ff718b}.generator-message-info{border:1px solid rgba(90,139,255,.28);background:rgba(61,96,200,.1);color:#aebfff}.generator-message-info svg{fill:#7da0ff}.generator-preview-card{overflow:hidden}.generator-preview-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid #222d42}.generator-preview-head>div{display:grid;gap:2px}.generator-preview-head span:first-child{color:#66738c;font-size:9px;font-weight:800;letter-spacing:.16em}.generator-preview-head strong{color:#e9edf5;font-size:14px}.generator-status{padding:6px 9px;border:1px solid #2c3850;border-radius:999px;color:#7f8aa1!important;font-size:10px!important;font-weight:700;letter-spacing:0!important}.generator-status.is-ready{border-color:rgba(70,206,153,.28);background:rgba(46,160,117,.09);color:#75deb6!important}.generator-preview{display:grid;place-items:center;min-height:310px;padding:28px;overflow:auto;background:#fff}.generator-preview canvas{display:none;max-width:100%;height:auto}.generator-preview.has-barcode canvas{display:block}.generator-preview.has-barcode .generator-placeholder{display:none}.generator-placeholder{display:grid;justify-items:center;gap:8px;max-width:330px;color:#697287;text-align:center}.generator-placeholder svg{width:62px;height:62px;margin-bottom:4px;fill:#cad0db}.generator-placeholder strong{color:#454d5d;font-size:14px}.generator-placeholder span{font-size:11px;line-height:1.5}.generator-downloads{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:14px;border-top:1px solid #222d42}.generator-downloads button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border:1px solid #303c56;border-radius:11px;background:#0c1321;color:#dce1eb;font:inherit;font-size:12px;font-weight:800;cursor:pointer;transition:.16s}.generator-downloads button:hover:not(:disabled){border-color:#8c48d7;background:#15182b;color:#fff}.generator-downloads button:disabled{opacity:.38;cursor:not-allowed}.generator-downloads svg{width:15px;height:15px;fill:currentColor}@media(max-width:1000px){.generator-format-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.generator-workbench{grid-template-columns:1fr}.generator-preview-card{min-width:0}}@media(max-width:720px){.generator-hero{align-items:flex-start;flex-direction:column}.generator-local-badge{align-self:flex-start}.generator-format-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.generator-format-card{padding:12px}.generator-editor{padding:18px}.generator-label-row{display:grid;gap:5px}.generator-label-row span{max-width:none;text-align:left}.generator-preview{min-height:240px;padding:16px}}@media(max-width:440px){.generator-format-grid{grid-template-columns:1fr}.generator-downloads{grid-template-columns:1fr}.generator-preview{min-height:210px}}
.generator-dm-shape{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding:13px 14px;border:1px solid #27344d;border-radius:13px;background:#0a101c}.generator-dm-shape>span{color:#aeb7c9;font-size:12px;font-weight:700}.generator-segmented{display:flex;gap:5px;padding:4px;border:1px solid #2d3952;border-radius:10px;background:#070c16}.generator-segmented button{min-height:34px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:#7f8ba3;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.generator-segmented button.is-active{background:linear-gradient(135deg,#8f45dd,#5d61ea);color:#fff;box-shadow:0 5px 15px rgba(91,71,210,.22)}.generator-preview.has-barcode canvas{max-height:280px;object-fit:contain}.generator-preview.has-barcode canvas[data-kind="qr"]{max-width:230px}@media(max-width:720px){.generator-dm-shape{align-items:flex-start;flex-direction:column}.generator-segmented{width:100%}.generator-segmented button{flex:1}}

.generator-dm-shape[hidden]{display:none!important}

.generator-mobile-format{display:none}
.generator-mobile-format label{display:block;margin-bottom:8px;color:#aeb7c9;font-size:12px;font-weight:800}
.generator-mobile-format .form-control{width:100%;min-height:52px;padding:0 14px;border:1px solid #2b3852;border-radius:13px;outline:none;background:#0a101c;color:#f2f4f9;font:inherit}
.generator-mobile-format .form-control:focus{border-color:#9f4ee5;box-shadow:0 0 0 3px rgba(159,78,229,.11)}
@media(max-width:640px){
  .generator-mobile-format{display:block}
  .generator-format-card{display:none}
  .generator-format-grid{display:block}
}
