*{box-sizing:border-box}body{margin:0;background:#f3f4f6;color:#1f2937;font-family:Arial,sans-serif}header{min-height:60px;background:#111827;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5%}header nav{display:flex}header a{color:#d1d5db;text-decoration:none;padding:21px 12px;font-size:14px}header a.active,header a:hover{color:#fff;background:#1f2937}main{padding:28px 16px}.card{max-width:1100px;margin:auto;background:#fff;border-radius:18px;box-shadow:0 10px 35px #00000017;overflow:hidden}.head{padding:28px 32px;border-bottom:1px solid #e5e7eb}.head h1{margin:0 0 7px;font-size:clamp(26px,4vw,36px)}.head p{margin:0;color:#6b7280}.layout{display:grid;grid-template-columns:1fr 420px;gap:30px;padding:30px 32px}.content{padding:30px 32px}label{display:block;font-weight:bold;font-size:14px;margin:0 0 8px}textarea,select,input[type=text],input[type=file]{width:100%;border:1px solid #d1d5db;border-radius:10px;background:#fff;padding:11px;font:inherit}textarea{height:125px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.color{display:grid;grid-template-columns:52px 1fr;gap:9px}.color input[type=color]{width:52px;height:44px;padding:4px}.optional,.upload{margin-top:20px;padding:15px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb}.optional label{display:flex;gap:8px;align-items:center}.optional input[type=text],.optional select{margin-top:5px}.optional small,.upload small{display:block;color:#6b7280;margin-top:7px}.upload{border:2px dashed #cbd5e1;text-align:center}.upload input{margin:5px auto;max-width:650px}button{border:0;border-radius:10px;min-height:46px;padding:0 20px;margin-top:24px;font-weight:bold;cursor:pointer;background:#2563eb;color:#fff}button.secondary{background:#e5e7eb;color:#111827;margin-left:8px}button:disabled{opacity:.5;cursor:not-allowed}.preview{border:1px solid #e5e7eb;border-radius:14px;min-height:350px;padding:25px;display:flex;flex-direction:column;align-items:center;justify-content:center}.preview h2{width:100%;font-size:19px;margin:0 0 14px}.preview #qr{line-height:0}.preview #qr img,.preview #qr canvas{max-width:100%;height:auto}.preview #caption{text-align:center;font-weight:bold;margin-top:10px;overflow-wrap:anywhere}#status{font-size:13px;color:#6b7280;min-height:20px}.hidden{display:none!important}#grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;margin-top:16px}.result{border:1px solid #e5e7eb;border-radius:12px;padding:12px;text-align:center}.result canvas{max-width:100%;height:auto}.result .label{font-weight:bold;margin-top:8px;overflow-wrap:anywhere}.result .name{font-size:11px;color:#6b7280;margin-top:5px;overflow-wrap:anywhere}@media(max-width:760px){header{padding:0 12px}header b{font-size:15px}header a{padding:21px 7px;font-size:13px}.layout{grid-template-columns:1fr;padding:22px 20px}.preview{order:-1;min-height:280px}.row{grid-template-columns:1fr;gap:0}.row>div+div{margin-top:18px}.content{padding:22px 20px}.head{padding:22px 20px}button{width:100%}button.secondary{margin-left:0}}
