.auth-shell--register .auth-form-panel{
  align-items:flex-start;
}

.auth-form-card--register{
  gap:18px;
}

.selected-dealer{
  display:none;
  min-height:44px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(76,145,157,.24);
  background:rgba(16,128,143,.08);
  color:#1c5362;
  font-size:14px;
  font-weight:700;
  line-height:1.45;
}

.register-success-state{
  display:grid;
  gap:18px;
  padding:22px;
  border-radius:24px;
  border:1px solid rgba(141,181,194,.34);
  background:linear-gradient(180deg, rgba(248,252,253,.98), rgba(237,244,247,.94));
  box-shadow:0 18px 42px rgba(15,42,53,.08);
}

.register-success-state__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  width:max-content;
  padding:0 14px;
  border-radius:999px;
  background:rgba(16,128,143,.12);
  color:#0b6a76;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.register-success-state__title{
  margin:0;
  color:#17364a;
  font-size:32px;
  line-height:1.1;
  letter-spacing:-.04em;
}

.register-success-state__copy{
  margin:0;
  color:#5f7484;
  font-size:15px;
  line-height:1.7;
}

.register-success-state__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.register-success-state__actions .btn{
  min-width:180px;
}

.auth-mobile-field{
  display:flex;
  align-items:center;
  gap:0;
  min-height:56px;
  border:1px solid rgba(166,193,208,.54);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(248,252,255,.96), rgba(239,246,250,.92));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
  overflow:hidden;
}

.auth-mobile-field:focus-within{
  border-color:rgba(40,130,146,.56);
  box-shadow:0 0 0 4px rgba(14,116,144,.08);
}

.auth-mobile-prefix{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:stretch;
  min-width:72px;
  padding:0 14px;
  border-right:1px solid rgba(166,193,208,.42);
  color:#2c485d;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
  background:rgba(235,244,248,.9);
}

.auth-mobile-field input{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding-left:16px;
}

.auth-mobile-field input:focus{
  box-shadow:none !important;
}

.register-submit-actions{
  display:none;
  flex-wrap:wrap;
  gap:12px;
}

.register-submit-actions:not([hidden]){
  display:flex;
}

.register-submit-actions .btn{
  min-width:180px;
}

.auth-field-group.is-invalid label{
  color:#b42318;
}

.auth-field-group.is-invalid input,
.auth-field-group.is-invalid select{
  border-color:rgba(180,35,24,.44);
  background:linear-gradient(180deg, rgba(255,250,250,.98), rgba(255,244,244,.96));
  box-shadow:0 0 0 4px rgba(180,35,24,.1);
}

.auth-field-group.is-invalid .auth-mobile-field{
  border-color:rgba(180,35,24,.44);
  background:linear-gradient(180deg, rgba(255,250,250,.98), rgba(255,244,244,.96));
  box-shadow:0 0 0 4px rgba(180,35,24,.1);
}

.auth-field-group.is-invalid input::placeholder,
.auth-field-group.is-invalid select{
  color:#a65c5c;
}

.auth-field-error{
  display:block;
  margin-top:7px;
  color:#b42318;
  font-size:11px;
  font-weight:700;
  line-height:1.4;
}

.auth-field-note{
  display:none;
  margin-top:8px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(148,180,193,.28);
  background:linear-gradient(180deg, rgba(247,251,253,.98), rgba(239,246,249,.94));
  color:#567081;
  font-size:12px;
  font-weight:700;
  line-height:1.5;
}

.auth-field-note.is-visible{
  display:block;
}

.auth-field-note.is-loading{
  border-color:rgba(3,105,161,.18);
  background:linear-gradient(180deg, rgba(244,250,255,.98), rgba(230,243,255,.95));
  color:#0f3c68;
}

.auth-field-note.is-success{
  border-color:rgba(5,150,105,.18);
  background:linear-gradient(180deg, rgba(242,252,247,.98), rgba(228,248,239,.95));
  color:#14532d;
}

.auth-field-note.is-error{
  border-color:rgba(185,28,28,.18);
  background:linear-gradient(180deg, rgba(255,248,247,.98), rgba(255,239,236,.95));
  color:#7f1d1d;
}

.register-policy-shell{
  display:grid;
  gap:12px;
  padding:16px;
  border-radius:20px;
  border:1px solid rgba(141,181,194,.34);
  background:linear-gradient(180deg, rgba(247,251,252,.96), rgba(238,246,249,.92));
}

.register-policy-consent{
  display:flex;
  align-items:flex-start;
  gap:12px;
  position:relative;
  color:#375164;
  font-size:13px;
  font-weight:600;
  line-height:1.65;
  cursor:pointer;
}

.register-policy-consent.is-guided::before{
  content:"\01F446";
  position:absolute;
  left:9px;
  top:6px;
  transform:translateX(-50%);
  font-size:16px;
  line-height:1;
  pointer-events:none;
  z-index:2;
  animation:registerPolicyGuideBounce 1.5s ease-in-out infinite;
}

.register-policy-consent input{
  appearance:none;
  -webkit-appearance:none;
  width:18px;
  min-width:18px;
  height:18px;
  min-height:18px;
  margin:2px 0 0;
  border-radius:6px;
  border:1.5px solid rgba(87,119,136,.72);
  background:#fff;
  box-shadow:none;
}

.register-policy-consent input:checked{
  border-color:#0d7380;
  background:
    linear-gradient(135deg, rgba(12,115,128,.98), rgba(26,145,160,.96));
  background-image:
    linear-gradient(135deg, rgba(12,115,128,.98), rgba(26,145,160,.96)),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.5 6.5 11.6 12.8 4.9' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:auto, 11px 11px;
}

.register-policy-consent input:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(13,115,128,.14);
}

.register-policy-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  row-gap:10px;
  position:relative;
  padding:0 4px 26px;
  overflow:visible;
  color:#60788a;
  font-size:13px;
  line-height:1.6;
}

.register-policy-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(148,180,193,.46);
  background:linear-gradient(180deg, rgba(248,252,253,.98), rgba(237,244,247,.94));
  color:#1b5167;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-decoration:none;
}

.register-policy-link.is-active{
  border-color:rgba(53,171,181,.38);
  background:linear-gradient(180deg, rgba(230,249,248,.98), rgba(214,241,239,.94));
  color:#0e6d78;
}

.register-policy-link.is-pending{
  box-shadow:0 10px 18px rgba(19,52,68,.06);
}

.register-policy-link.is-agreed{
  border-color:rgba(16,128,143,.26);
  background:linear-gradient(180deg, rgba(232,248,243,.98), rgba(220,242,235,.94));
  color:#0f7661;
}

.register-policy-link.is-guided::before{
  content:"\01F446";
  position:absolute;
  top:calc(100% + 3px);
  left:50%;
  transform:translateX(-50%);
  font-size:16px;
  line-height:1;
  pointer-events:none;
  z-index:2;
  animation:registerPolicyGuideBounce 1.5s ease-in-out infinite;
}

.register-policy-link[data-policy-status]::after{
  content:attr(data-policy-status);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:20px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(16,128,143,.12);
  color:#0d7280;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.register-policy-card{
  display:grid;
  gap:12px;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(142,198,206,.5);
  background:linear-gradient(180deg, rgba(240,251,249,.98), rgba(233,247,245,.94));
  box-shadow:0 16px 34px rgba(15,42,53,.08);
}

.register-policy-card[hidden]{
  display:none !important;
}

#registerPolicyMessage{
  display:none;
}

#registerPolicyMessage[data-register-policy-tone]{
  display:block;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  border:none !important;
  background:none !important;
  box-shadow:none !important;
  font-size:11px;
  font-weight:700;
  line-height:1.3;
}

#registerPolicyMessage[data-register-policy-tone="success"]{
  color:#0f7661;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

#registerPolicyMessage[data-register-policy-tone="error"]{
  color:#b42318;
}

.register-policy-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.register-policy-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(16,128,143,.1);
  color:#0b6a76;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.register-policy-head h5{
  margin:8px 0 4px;
  font-size:22px;
  line-height:1.15;
  letter-spacing:-.03em;
  color:#17364a;
}

.register-policy-head p{
  margin:0;
  color:#637b8c;
  font-size:13px;
  line-height:1.55;
}

.register-policy-scroll{
  max-height:250px;
  overflow-y:auto;
  padding-right:8px;
}

.register-policy-scroll::-webkit-scrollbar{
  width:8px;
}

.register-policy-scroll::-webkit-scrollbar-thumb{
  border-radius:999px;
  background:rgba(21,95,111,.28);
}

.register-policy-list{
  margin:0;
  padding-left:18px;
  display:grid;
  gap:10px;
  color:#3c5566;
  font-size:13px;
  line-height:1.65;
}

.register-policy-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.register-policy-read-state{
  color:#5f7484;
  font-size:12px;
  font-weight:700;
  line-height:1.5;
}

.register-policy-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.register-policy-close,
.register-policy-agree{
  min-width:122px;
}

.register-policy-agree{
  opacity:.72;
}

.register-policy-agree.is-ready,
.register-policy-agree.is-agreed{
  opacity:1;
}

.register-policy-agree.is-agreed{
  background:linear-gradient(135deg, #0f8a77, #1ea28f);
}

@keyframes registerPolicyGuideBounce{
  0%, 100%{
    transform:translateX(-50%) translateY(0);
  }

  50%{
    transform:translateX(-50%) translateY(4px);
  }
}

.auth-form-card--register #submitBtn:disabled{
  opacity:.58;
  cursor:not-allowed;
  box-shadow:none;
}

@media (max-width: 680px){
  .register-policy-footer{
    flex-direction:column;
    align-items:stretch;
  }

  .register-policy-actions{
    width:100%;
  }

  .register-policy-close,
  .register-policy-agree{
    flex:1;
    min-width:0;
  }
}

@media (max-width: 560px){
  .register-policy-shell{
    padding:14px;
    border-radius:18px;
  }

  .register-policy-consent.is-guided::before{
    top:5px;
  }

  .register-policy-links{
    gap:6px;
    padding:0 0 24px;
  }

  .register-policy-link{
    min-height:32px;
    padding:0 12px;
    font-size:11px;
  }

  .register-policy-card{
    padding:14px;
    border-radius:16px;
  }

  .register-policy-head h5{
    font-size:19px;
  }

  .register-policy-scroll{
    max-height:220px;
  }
}
