.mt-10 {
  margin-top: 10px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

/* form */
.form .field {
  margin-bottom: 20px;
}
.form .field .label {
  margin-bottom: 10px;
  font-weight: 400;
  font-size: 16px;
  color: #333333;
  line-height: 16px;
  text-align: left;
}

.form input:not([type='checkbox']):not([type='radio']) {
  padding: 10px;
  width: 100%;
  color: #333333;
  font-size: 0.875rem;
  height: 2.25rem;
  background: #FFFFFF;
  border: 1px solid #D2D2D2;
  border-radius: 6px;
}

.form .is-required::before {
  content: '*';
  color: red;
  margin-right: 2px;
}

.form .input:not([type='checkbox']):not([type='radio']):active,
.form .input:not([type='checkbox']):not([type='radio']):focus {
  border: 1px solid #FF6C48;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.form .input:not([type='checkbox']):not([type='radio'])[readonly] {
  background-color: whitesmoke;
  border-color: whitesmoke;
  -webkit-box-shadow: none;
  box-shadow: none;
  color: #7a7a7a;
  opacity: 0.7;
}

.form .help.is-danger, .errorlist {
  color: #f14668;
}
.form .help, .errorlist {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  text-align: left;
}

/* tab */
.ui-tabs {
  display: flex;
  gap: 30px;
  height: 40px;
  padding: 0 15px;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  background: #fff;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.ui-tabs::-webkit-scrollbar {
  display: none;
}

.ui-tab-item {
  padding: 10px 0;
  font-weight: 400;
  font-size: 14px;
  color: #333333;
  line-height: 20px;
  text-align: center;
  cursor: pointer;
}

.ui-tab-item.is-active {
  color: #ff6c48;
  font-weight: 600;
  border-bottom: #ff6c48 solid 2px;
}

/* Tab面板 */
.tab-panel {
  padding: 15px;
}

.tab-content {
  display: none;
}

.tab-content.is-active {
  display: block;
}

/* modal */
.modal {
  z-index: 999;
}
.modal .modal-content {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px;
  position: relative;
  text-align: center;
  width: 90% !important;
  font-weight: normal;
}
.modal .modal-close {
  position: absolute;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  top: 10px;
  right: 10px;
}
.modal .modal-close::before,
.modal .modal-close::after {
  background-color: #666666;
}
.modal .modal-close:focus,
.modal .modal-close:active,
.modal .modal-close:hover {
  background-color: transparent;
}
.modal .modal-title {
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
  color: #3D3D3D;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal .modal-form {
  margin-top: 40px;
}
.modal .modal-description {
  font-size: 16px;
  font-weight: normal;
  line-height: 28px;
  color: #3D3D3D;
  text-align: center;
  margin-top: 30px;
}
.modal .modal-buttons {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
}
.modal .modal-button {
  display: block;
  height: 40px;
  flex: 1;
  border-radius: 20px;
  font-weight: 500;
  font-size: 14px;
  line-height: 40px;
  cursor: pointer;
  color: #000028;
}
.modal .modal-button.ok {
  background: #FF6C48;
  color: #FFFFFF;
}
.modal .modal-button.cancel {
  border: 1px solid #979797;
  background: #FFFFFF;
  color: #666666;
}
/*.modal .modal-button:hover {
  border: 1px solid #CC8866;
  background-color: #CC8866;
}*/
.modal a {
  color: #CC8866;
}

/* 消息弹窗 */
.msg-modal {
  z-index: 999;
}
.msg-modal .modal-content {
  background: #ffffff;
  border-radius: 10px;
  padding: 20px;
  position: relative;
  text-align: center;
  width: 90% !important;
  font-weight: normal;
}
.msg-modal .modal-close {
  position: absolute;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  top: 10px;
  right: 10px;
}
.msg-modal .modal-close::before,
.msg-modal .modal-close::after {
  background-color: #666666;
}
.msg-modal .modal-close:focus,
.msg-modal .modal-close:active,
.msg-modal .modal-close:hover {
  background-color: transparent;
}
.msg-modal .modal-title {
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
  color: #3D3D3D;
  display: flex;
  align-items: center;
  justify-content: center;
}
.msg-modal .modal-description {
  font-size: 16px;
  font-weight: normal;
  line-height: 28px;
  color: #3D3D3D;
  text-align: center;
  margin-top: 30px;
}
.msg-modal .modal-button {
  width: 160px;
  height: 40px;
  border-radius: 20px;
  font-weight: 500;
  font-size: 14px;
  line-height: 40px;
  cursor: pointer;
  color: #ffffff;
  background: #FF6C48;
  margin: 30px auto 0;
}
.msg-modal .modal-button:hover {
  border: 1px solid #CC8866;
  background-color: #CC8866;
}

/* 底部菜单 */
.footbar-menus {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  height: 60px;
  z-index: 99;
  background: #FFFFFF;
  box-shadow: 0px -8px 20px 0px rgba(0,0,0,0.05);
}

.footbar-menus .is-sticky {
  position: sticky;
}

.footbar-menus .columns {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.footbar-menus .column {
  height: 60px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.footbar-menus a {
  font-size: 14px;
  color: #999999;
}

.footbar-menus .column.is-active a {
  color: #FF6C48;
}

.footbar-menus img {
  width: 20px;
  height: 20px;
}

.footbar-menus .text-center {
  text-align: center;
}