*,:before,:after{box-sizing:border-box}:root{color:#111827;-webkit-font-smoothing:antialiased;background:#f9fafb;font-family:system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}body{margin:0;padding:24px 16px 48px}#root{max-width:600px;margin:0 auto}.page-header{text-align:center;margin-bottom:32px}.page-header h1{color:#111827;margin:0 0 6px;font-size:28px;font-weight:700}.page-header p{color:#6b7280;margin:0;font-size:15px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:32px}.form-group{margin-bottom:20px}label{color:#374151;margin-bottom:6px;font-size:14px;font-weight:600;display:block}input[type=text],input[type=email],textarea{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .15s}input[type=text]:focus,input[type=email]:focus,textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}textarea{resize:vertical;min-height:80px}.file-drop{text-align:center;cursor:pointer;border:2px dashed #d1d5db;border-radius:8px;padding:28px 20px;transition:border-color .15s,background .15s;position:relative}.file-drop:hover,.file-drop.drag-over{background:#eff6ff;border-color:#3b82f6}.file-drop input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-drop-icon{margin-bottom:8px;font-size:28px}.file-drop-label{color:#6b7280;font-size:14px}.file-drop-label strong{color:#3b82f6}.file-selected{color:#059669;margin-top:10px;font-size:13px;font-weight:500}.file-hint{color:#9ca3af;margin-top:6px;font-size:12px}.color-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.color-option{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;transition:border-color .15s,background .15s;display:flex}.color-option:hover{border-color:#9ca3af}.color-option.selected{background:#eff6ff;border-color:#3b82f6}.color-option input[type=checkbox]{display:none}.color-swatch{border:1px solid #00000026;border-radius:50%;flex-shrink:0;width:18px;height:18px}.color-name{color:#374151;flex:1;font-size:13px;font-weight:500}.color-check{color:#3b82f6;margin-left:auto;font-size:12px;font-weight:700}.form-group.locked{opacity:.45;pointer-events:none}.locked-hint{color:#9ca3af;font-size:13px;font-weight:400}.color-option.disabled{cursor:not-allowed}.file-list{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.file-list-item{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.file-list-name{color:#166534;font-size:13px;font-weight:500}.file-remove-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px;line-height:1}.file-remove-btn:hover{color:#ef4444}.faq{margin-top:40px;padding-bottom:48px}.faq-title{color:#111827;margin:0 0 16px;font-size:18px;font-weight:700}.faq-list{flex-direction:column;gap:12px;display:flex}.faq-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px}.faq-q{color:#111827;margin:0 0 6px;font-size:14px;font-weight:700}.faq-a{color:#6b7280;margin:0;font-size:14px;line-height:1.6}.part-inputs{border-top:1px solid #e5e7eb;flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;display:flex}.part-inputs-label{color:#374151;margin:0 0 4px;font-size:13px;font-weight:600}.part-input-row{align-items:center;gap:8px;display:flex}.part-color-name{color:#374151;flex-shrink:0;width:54px;font-size:13px;font-weight:600}.part-text-input{color:#111827;border:1px solid #d1d5db;border-radius:6px;outline:none;flex:1;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.part-text-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.submit-btn{color:#fff;cursor:pointer;background:#1d4ed8;border:none;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-family:inherit;font-size:15px;font-weight:600;transition:background .15s}.submit-btn:hover:not(:disabled){background:#1e40af}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.success-card{text-align:center;padding:48px 32px}.success-icon{margin-bottom:16px;font-size:48px}.success-card h2{color:#111827;margin:0 0 8px;font-size:22px;font-weight:700}.success-card p{color:#6b7280;font-size:15px}.form-error{color:#dc2626;margin-top:8px;font-size:13px}
