.type-signature-container[data-v-0e94557f] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 40px 20px;
  box-sizing: border-box;
}
.type-signature-header[data-v-0e94557f] {
  margin-bottom: 40px;
}
.type-signature-header .type-signature-title[data-v-0e94557f] {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 56px;
  color: #333;
  margin: 0;
  text-align: center;
}
.type-signature-input-wrapper[data-v-0e94557f] {
  width: 100%;
  max-width: 1000px;
  margin-bottom: 40px;
}
.type-signature-input-wrapper .type-signature-input[data-v-0e94557f] {
  width: 100%;
}
.type-signature-input-wrapper .type-signature-input[data-v-0e94557f]  .el-input__inner {
  height: 60px;
  border-radius: 88px;
  border: 1px solid #999;
  font-size: 20px;
  padding: 0 24px;
  background-color: #ffffff;
}
.type-signature-input-wrapper .type-signature-input[data-v-0e94557f]  .el-input__inner:focus {
  border-color: #999;
}
.type-signature-controls[data-v-0e94557f] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1000px;
  margin-bottom: 40px;
}
.type-signature-color-picker[data-v-0e94557f] {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid #d9d9d9;
  border-radius: 26px;
  width: 200px;
  height: 36px;
  box-sizing: border-box;
  cursor: pointer;
  background-color: #ffffff;
  position: relative;
}
.type-signature-color-picker[data-v-0e94557f]:hover {
  border-color: #999;
}
.type-signature-color-picker .color-circle[data-v-0e94557f] {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  flex-shrink: 0;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
.type-signature-color-picker .color-code[data-v-0e94557f] {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  color: #666;
  flex: 1;
}
.type-signature-color-picker .color-picker-hidden[data-v-0e94557f] {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  cursor: pointer;
}
.type-signature-color-picker .color-picker-hidden[data-v-0e94557f]  .el-color-picker__trigger {
  width: 100%;
  height: 100%;
  border: none;
  padding: 0;
}
.type-signature-clear-btn[data-v-0e94557f] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px;
  border: 1px solid #d9d9d9;
  border-radius: 26px;
  width: 128px;
  height: 36px;
  box-sizing: border-box;
  cursor: pointer;
  background-color: #ffffff;
}
.type-signature-clear-btn[data-v-0e94557f]:hover {
  border-color: #999;
}
.type-signature-clear-btn .clear-icon[data-v-0e94557f] {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  display: block;
}
.type-signature-clear-btn .clear-text[data-v-0e94557f] {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px;
  color: #666;
}
.type-signature-preview-section[data-v-0e94557f] {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  margin-top: 40px;
  justify-content: flex-start;
}
.type-signature-preview-section .type-signature-preview-item[data-v-0e94557f] {
  flex: 0 0 calc((100% - 80px) / 3);
  max-width: calc((100% - 80px) / 3);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  padding: 24px;
  margin: 0;
}
.type-signature-preview-section .type-signature-preview-item .font-title[data-v-0e94557f] {
  width: 100%;
  font-weight: 400;
  font-style: Regular;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 0%;
  vertical-align: middle;
  color: #666;
  text-align: left;
}
.type-signature-preview-section .type-signature-preview-item .font-canvas[data-v-0e94557f] {
  margin: 24px 0;
}
.type-signature-preview-section .type-signature-preview-item .font-btn-download[data-v-0e94557f] {
  width: 100%;
  background: var(--color-bule-blue-6-primary, #1063f1);
  font-family: Helvetica Neue;
  font-weight: 500;
  font-style: Medium;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0%;
  text-align: center;
  vertical-align: middle;
  color: #fff;
  padding: 12px 0;
  cursor: pointer;
  border-radius: 16px;
}
/* Responsive: for screens <= 900px, show 2 per row; <=600px, show 1 per row */
@media screen and (max-width: 900px) {
.type-signature-preview-section .type-signature-preview-item[data-v-0e94557f] {
    flex: 0 0 calc((100% - 40px) / 2);
    max-width: calc((100% - 40px) / 2);
}
}
@media screen and (max-width: 600px) {
.type-signature-preview-section[data-v-0e94557f] {
    gap: 24px;
}
.type-signature-preview-section .type-signature-preview-item[data-v-0e94557f] {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 16px;
}
}
.type-signature-preview-wrapper[data-v-0e94557f] {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  border: 2px dashed #d4d4d4;
  border-radius: 8px;
  padding: 40px;
  box-sizing: border-box;
  min-height: 200px;
}
.type-signature-preview-canvas[data-v-0e94557f] {
  max-width: 100%;
  height: auto;
}
.type-signature-download-controls[data-v-0e94557f] {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 1200px) {
.type-signature-input-wrapper[data-v-0e94557f],
  .type-signature-controls[data-v-0e94557f] {
    max-width: 100%;
}
}
@media screen and (max-width: 768px) {
.type-signature-container[data-v-0e94557f] {
    padding: 20px 16px;
}
.type-signature-header[data-v-0e94557f] {
    margin-bottom: 24px;
}
.type-signature-header .type-signature-title[data-v-0e94557f] {
    font-size: 32px;
    line-height: 40px;
}
.type-signature-input-wrapper[data-v-0e94557f] {
    margin-bottom: 24px;
}
.type-signature-input-wrapper .type-signature-input[data-v-0e94557f]  .el-input__inner {
    height: 48px;
    font-size: 16px;
    padding: 0 16px;
}
.type-signature-controls[data-v-0e94557f] {
    gap: 15px;
    margin-bottom: 24px;
}
.type-signature-color-picker[data-v-0e94557f] {
    flex: 1;
}
.type-signature-clear-btn[data-v-0e94557f] {
    padding: 8px 24px;
}
.type-signature-preview-section[data-v-0e94557f] {
    margin-top: 24px;
}
.type-signature-download-controls[data-v-0e94557f] {
    flex-direction: column;
    width: 100%;
}
.type-signature-download-controls .el-button[data-v-0e94557f] {
    width: 100%;
}
}

