.tgi-upload-wrapper{background:#fff;border:1px solid #e5e7ea;border-radius:12px;margin:0 auto;max-width:860px;padding:32px}.tgi-upload-wrapper,.tgi-upload-wrapper *{box-sizing:border-box}.tgi-intro{color:#1b2138;font-size:16px;line-height:1.6;margin:0 0 28px}.tgi-section-header{clear:both;margin-bottom:20px;width:100%}.tgi-divider{border:0;border-top:2px solid #e5e7ea;margin:0 0 12px;width:100%}.tgi-section-label{color:#6b7280;display:block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.tgi-form-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;width:100%}.tgi-form-group{flex:1 1 calc(50% - 10px);min-width:240px}.tgi-form-group--half{flex:0 1 calc(50% - 10px);min-width:240px}.tgi-form-row .tgi-form-group:only-child{flex:1 1 100%;min-width:0}.tgi-label{color:#1b2138;display:block;font-size:14px;font-weight:600;margin-bottom:6px}.tgi-required{color:#f15a22}.tgi-optional{color:#9ca3af;font-size:13px;font-weight:400}.tgi-upload-wrapper input[type=email],.tgi-upload-wrapper input[type=text],.tgi-upload-wrapper textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1b2138;display:block;font-size:15px;line-height:1.5;padding:12px 14px;transition:border-color .15s,box-shadow .15s;width:100%}.tgi-upload-wrapper textarea{min-height:110px;resize:vertical}.tgi-upload-wrapper input:focus,.tgi-upload-wrapper textarea:focus{border-color:#2673ff;box-shadow:0 0 0 3px rgba(38,115,255,.15);outline:none}.tgi-invalid{border-color:#d92d20!important;box-shadow:0 0 0 3px rgba(217,45,32,.12)!important}.tgi-field-error{color:#d92d20;display:none;font-size:13px;margin-top:5px}.tgi-field-error.tgi-visible{display:block}.tgi-drop-zone{align-items:center;background:#f9fafb;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:32px 20px;position:relative;text-align:center;transition:border-color .15s,background .15s}.tgi-drop-zone:focus,.tgi-drop-zone:hover{background:#f0f5ff;border-color:#2673ff;outline:none}.tgi-drop-zone.tgi-dragover{background:#e8efff;border-color:#2673ff}.tgi-drop-zone.tgi-invalid-zone{background:#fff5f4;border-color:#d92d20}.tgi-file-input{display:none}.tgi-drop-icon{font-size:36px;line-height:1;margin-bottom:4px}.tgi-drop-title{color:#1b2138;font-size:16px;font-weight:700}.tgi-drop-hint{color:#6b7280;font-size:14px}.tgi-browse-link{color:#2673ff;cursor:pointer;text-decoration:underline}.tgi-drop-formats{color:#9ca3af;font-size:13px;margin-top:4px}.tgi-file-selected{align-items:center;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;display:none;gap:10px;margin-top:10px;padding:12px 14px}.tgi-file-icon{flex-shrink:0;font-size:20px}.tgi-file-name{color:#1b2138;flex:1;font-size:14px;word-break:break-word}.tgi-file-remove{border-radius:4px;color:#d92d20;cursor:pointer;flex-shrink:0;font-size:16px;font-weight:700;padding:2px 6px}.tgi-file-remove:hover{background:#fef2f2}.tgi-progress-wrap{display:none;margin:24px 0 0}.tgi-progress-header{color:#1b2138;display:flex;font-size:14px;font-weight:600;justify-content:space-between;margin-bottom:8px}.tgi-progress-track{background:#e5e7ea;border-radius:999px;height:10px;overflow:hidden;width:100%}.tgi-progress-fill{background:linear-gradient(90deg,#2673ff,#4f8fff);border-radius:999px;height:100%;transition:width .3s ease;width:0}.tgi-form-footer{align-items:flex-start;display:flex;flex-direction:column;gap:16px;margin-top:28px}.tgi-submit-btn{appearance:none;-webkit-appearance:none;background:#f15a22;border:0;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:14px 28px;transition:background .15s}.tgi-submit-btn:focus,.tgi-submit-btn:hover{background:#d94d16;outline:none}.tgi-submit-btn:disabled{cursor:not-allowed;opacity:.65}.tgi-message{border-radius:8px;display:none;font-size:15px;line-height:1.5;padding:14px 16px;width:100%}.tgi-message.tgi-success{background:#ecfdf3;border:1px solid #abefc6;color:#067647;display:block}.tgi-message.tgi-error{background:#fef3f2;border:1px solid #fecdca;color:#b42318;display:block}@media (max-width:767px){.tgi-upload-wrapper{padding:20px}.tgi-form-group,.tgi-form-group--half{flex:1 1 100%;min-width:0}.tgi-intro{font-size:15px}}