.xchat-root {
   max-width: 760px;
   margin: 56px auto;
   padding: 36px;
   background: radial-gradient(1200px 700px at 20% 0%, rgba(167, 139, 250, 0.16), rgba(0,0,0,0) 60%),
               linear-gradient(180deg, rgba(17, 24, 39, 0.92), rgba(3, 7, 18, 0.92));
   border: 1px solid rgba(255,255,255,0.08);
   border-radius: 22px;
   box-shadow: 0 24px 80px rgba(0,0,0,0.55);
   color: #e5e7eb;
 }
 
 .xchat-root h2 {
   margin: 0 0 8px;
   font-size: 28px;
   letter-spacing: -0.02em;
 }
 
 .xchat-sub {
   color: rgba(229, 231, 235, 0.75);
   margin: 0 0 22px;
 }
 
 .xchat-step {
   min-height: 150px;
   transition: .25s ease;
 }

 .xchat-label {
   font-size: 18px;
   margin: 6px 0 12px;
   color: rgba(229, 231, 235, 0.92);
 }

 .xchat-step input,
 .xchat-step select {
   width: 100%;
   padding: 14px 14px;
   border-radius: 14px;
   border: 1px solid rgba(255,255,255,0.10);
   background: rgba(17, 24, 39, 0.55);
   color: #f9fafb;
   font-size: 15px;
   outline: none;
   transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
 }

 .xchat-step input::placeholder {
   color: rgba(229, 231, 235, 0.55);
 }

 .xchat-step input:focus,
 .xchat-step select:focus {
   border-color: rgba(167, 139, 250, 0.65);
   box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.18);
 }

 .xchat-error {
   margin-top: 12px;
   padding: 12px 14px;
   border-radius: 14px;
   background: rgba(239, 68, 68, 0.12);
   border: 1px solid rgba(239, 68, 68, 0.22);
   color: rgba(254, 202, 202, 0.95);
   font-size: 13px;
   display: none;
 }

 .xchat-root .iti {
   width:100%;
 }

 .xchat-root .iti__flag-container {
  border-radius:14px 0 0 14px;
 }

 .xchat-root .iti input {
   width:100%;
   padding:14px 14px 14px 52px;
   border-radius:14px;
   border:1px solid rgba(255,255,255,0.10);
   background: rgba(17, 24, 39, 0.55);
   font-size:15px;
   color:#f9fafb;
 }
 
 .xchat-root .iti input::placeholder { color: rgba(229, 231, 235, 0.55); }

 .xchat-root .iti__country-list {
   background: rgba(3, 7, 18, 0.96);
   border: 1px solid rgba(255,255,255,0.10);
   box-shadow: 0 24px 60px rgba(0,0,0,0.55);
   color: rgba(249, 250, 251, 0.95);
 }

 .xchat-root .iti__country {
   color: rgba(249, 250, 251, 0.92);
 }

 .xchat-root .iti__country:hover,
 .xchat-root .iti__country.iti__highlight {
   background: rgba(167, 139, 250, 0.14);
 }

 .xchat-root .iti__dial-code {
   color: rgba(229, 231, 235, 0.70);
 }

 .xchat-root .iti__divider {
   border-bottom: 1px solid rgba(255,255,255,0.08);
 }

 .xchat-country {
   position: relative;
 }

 .xchat-country-btn {
   width: 100%;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 10px;
   padding: 14px 14px;
   border-radius: 14px;
   border: 1px solid rgba(255,255,255,0.10);
   background: rgba(17, 24, 39, 0.55);
   color: #f9fafb;
   font-size: 15px;
   cursor: pointer;
   transition: border-color .2s ease, box-shadow .2s ease;
 }

 .xchat-country.is-open .xchat-country-btn,
 .xchat-country-btn:focus {
   border-color: rgba(167, 139, 250, 0.65);
   box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.18);
   outline: none;
 }

 .xchat-country-caret {
   color: rgba(229, 231, 235, 0.70);
 }

 .xchat-country-menu {
   position: absolute;
   left: 0;
   right: 0;
   top: calc(100% + 8px);
   z-index: 999;
   border-radius: 14px;
   border: 1px solid rgba(255,255,255,0.10);
   background: rgba(3, 7, 18, 0.96);
   box-shadow: 0 24px 60px rgba(0,0,0,0.55);
   padding: 8px;
   max-height: 280px;
   overflow: auto;
 }

 .xchat-country-item {
   width: 100%;
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 10px 10px;
   border: none;
   background: transparent;
   color: rgba(249, 250, 251, 0.92);
   text-align: left;
   border-radius: 10px;
   cursor: pointer;
 }

 .xchat-country-item:hover {
   background: rgba(167, 139, 250, 0.14);
 }

 .xchat-country-flag {
   width: 22px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
 }

 .xchat-country-name {
   flex: 1;
 }

 .xchat-result-hint {
   margin-top: 14px;
   padding: 10px 12px;
   border-radius: 12px;
   border: 1px solid rgba(255,255,255,0.10);
   background: rgba(17, 24, 39, 0.35);
   color: rgba(229, 231, 235, 0.75);
   font-size: 13px;
   text-align: center;
 }

 #xchat-next {
   background: linear-gradient(135deg, #a78bfa, #7c3aed);
   color: #0b0b10;
   border: none;
   padding: 12px 22px;
   border-radius: 14px;
   cursor: pointer;
   font-weight: 700;
   letter-spacing: 0.04em;
   text-transform: uppercase;
   box-shadow: 0 10px 30px rgba(167, 139, 250, 0.22);
   transition: transform .15s ease, filter .15s ease, opacity .15s ease;
 }

 #xchat-next:hover {
   filter: brightness(1.05);
   transform: translateY(-1px);
 }

 #xchat-next:disabled {
   opacity: 0.6;
   cursor: not-allowed;
   transform: none;
 }

 #xchat-next.is-loading {
   position: relative;
 }

 #xchat-next.is-loading::after {
   content: '';
   position: absolute;
   right: 14px;
   top: 50%;
   width: 14px;
   height: 14px;
   margin-top: -7px;
   border-radius: 999px;
   border: 2px solid rgba(11,11,16,0.35);
   border-top-color: rgba(11,11,16,0.95);
   animation: xchat-spin 0.9s linear infinite;
 }

 .xchat-actions {
   display: flex;
   gap: 12px;
   align-items: center;
   justify-content: flex-start;
   margin-top: 18px;
 }

 #xchat-back {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 12px 18px;
   border-radius: 14px;
   border: 1px solid rgba(255,255,255,0.14);
   background: rgba(17, 24, 39, 0.35);
   color: rgba(229, 231, 235, 0.90);
   cursor: pointer;
   font-weight: 600;
   transition: transform .15s ease, border-color .15s ease, background .15s ease, opacity .15s ease;
 }

 #xchat-back:hover {
   border-color: rgba(167, 139, 250, 0.45);
   background: rgba(17, 24, 39, 0.50);
   transform: translateY(-1px);
 }

 #xchat-back:disabled {
   opacity: 0.55;
   cursor: not-allowed;
   transform: none;
 }

 .xchat-secure {
   margin-top:18px;
   text-align:center;
   font-size:13px;
   color: rgba(229, 231, 235, 0.72);
 }

 .plan-option {
   border: 1px solid rgba(255,255,255,0.10);
   border-radius: 12px;
   padding: 20px;
   margin-bottom: 16px;
   cursor: pointer;
   transition: all 0.2s ease;
   background: rgba(17, 24, 39, 0.45);
 }

 .plan-option:hover {
   border-color: rgba(167, 139, 250, 0.38);
   transform: translateY(-2px);
   box-shadow: 0 14px 40px rgba(0,0,0,0.35);
 }

 .plan-option.is-selected {
   border-color: rgba(167, 139, 250, 0.80);
   box-shadow: 0 0 0 4px rgba(167, 139, 250, 0.18), 0 14px 40px rgba(0,0,0,0.45);
 }

 .plan-option h3 {
   margin: 0 0 8px 0;
   color: #f9fafb;
   font-size: 18px;
 }

 .plan-option .price {
   font-size: 24px;
   font-weight: bold;
   color: #e5e7eb;
   margin-bottom: 4px;
 }

 .plan-option .period {
   color: rgba(229, 231, 235, 0.70);
   font-size: 14px;
   margin-bottom: 12px;
 }

 .plan-option .features {
   color: rgba(229, 231, 235, 0.78);
   font-size: 14px;
 }

 .payment-summary {
   background: rgba(17, 24, 39, 0.45);
   border-radius: 12px;
   padding: 24px;
   margin-bottom: 20px;
   border: 1px solid rgba(255,255,255,0.08);
 }

 .payment-summary h3 {
   margin: 0 0 16px 0;
   color: #f9fafb;
 }

 .payment-summary p {
   margin: 8px 0;
   color: rgba(229, 231, 235, 0.80);
 }

 .payment-grid .row {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   padding: 10px 0;
   border-bottom: 1px solid rgba(255,255,255,0.06);
 }

 .payment-grid .row:last-child {
   border-bottom: none;
 }

 .payment-grid .row span {
   color: rgba(229, 231, 235, 0.65);
   font-size: 13px;
 }

 .payment-grid .row strong {
   color: rgba(249, 250, 251, 0.95);
   font-weight: 700;
   text-align: right;
 }

 .payment-grid .row.total strong {
   font-size: 16px;
 }

 .xchat-pay {
   padding: 4px 0 0;
 }

 .xchat-loader {
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 14px 16px;
   border-radius: 14px;
   border: 1px solid rgba(255,255,255,0.10);
   background: rgba(17, 24, 39, 0.55);
   margin: 4px 0 14px;
 }

 .xchat-spinner {
   width: 18px;
   height: 18px;
   border-radius: 999px;
   border: 2px solid rgba(229,231,235,0.25);
   border-top-color: rgba(167, 139, 250, 0.95);
   animation: xchat-spin 0.9s linear infinite;
 }

 .xchat-loader-text {
   color: rgba(229, 231, 235, 0.80);
   font-size: 13px;
 }

 .xchat-hint {
   margin-top: 12px;
   color: rgba(229, 231, 235, 0.65);
   font-size: 12px;
 }

 .xchat-result {
   padding: 14px 4px 2px;
 }

 .xchat-result-title {
   margin: 14px 0 10px;
   color: rgba(249, 250, 251, 0.98);
   font-size: 20px;
 }

 .xchat-result-text {
   margin: 0 0 16px;
   color: rgba(229, 231, 235, 0.75);
   line-height: 1.55;
   font-size: 14px;
 }

 .xchat-result-actions {
   display: flex;
   justify-content: center;
   margin-top: 18px;
 }

 .xchat-result-badge {
   display: inline-flex;
   align-items: center;
   padding: 6px 10px;
   border-radius: 999px;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 0.02em;
   border: 1px solid rgba(255,255,255,0.10);
   background: rgba(17, 24, 39, 0.45);
   color: rgba(229, 231, 235, 0.92);
 }

 .xchat-result-badge-fail {
   border-color: rgba(239, 68, 68, 0.22);
   background: rgba(239, 68, 68, 0.10);
   color: rgba(254, 202, 202, 0.95);
 }

 .xchat-wa {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 10px;
   padding: 12px 16px;
   border-radius: 14px;
   border: 1px solid rgba(255,255,255,0.14);
   background: linear-gradient(135deg, rgba(34, 197, 94, 0.95), rgba(16, 185, 129, 0.95));
   color: rgba(11, 11, 16, 0.92);
   font-weight: 800;
   text-decoration: none;
   box-shadow: 0 10px 30px rgba(34, 197, 94, 0.18);
   width: min(520px, 100%);
   min-height: 56px;
   font-size: 16px;
 }

 .xchat-wa:hover {
   filter: brightness(1.05);
 }

 .xchat-check {
   width: 70px;
   height: 70px;
 }

 .xchat-check-svg {
   width: 70px;
   height: 70px;
 }

 .xchat-check-circle {
   stroke: rgba(34, 197, 94, 0.95);
   stroke-width: 3;
   stroke-dasharray: 166;
   stroke-dashoffset: 166;
   animation: xchat-stroke 0.6s ease forwards;
 }

 .xchat-check-mark {
   stroke: rgba(34, 197, 94, 0.95);
   stroke-width: 4;
   stroke-linecap: round;
   stroke-linejoin: round;
   stroke-dasharray: 48;
   stroke-dashoffset: 48;
   animation: xchat-stroke 0.45s 0.25s ease forwards;
 }

 @keyframes xchat-stroke {
   to { stroke-dashoffset: 0; }
 }

 #xchat-next:hover {
   filter: brightness(1.05);
   transform: translateY(-1px);
 }

 #xchat-next:disabled {
   opacity: 0.6;
   cursor: not-allowed;
   transform: none;
 }

 #xchat-next.is-loading {
   position: relative;
 }

 #xchat-next.is-loading::after {
   content: '';
   position: absolute;
   right: 14px;
   top: 50%;
   width: 14px;
   height: 14px;
   margin-top: -7px;
   border-radius: 999px;
   border: 2px solid rgba(11,11,16,0.35);
   border-top-color: rgba(11,11,16,0.95);
   animation: xchat-spin 0.9s linear infinite;
 }

 @keyframes xchat-spin {
   from { transform: rotate(0deg); }
   to { transform: rotate(360deg); }
 }

 @media (max-width: 600px) {
   .xchat-root {
     margin: 22px 14px;
     padding: 22px;
   }

   .xchat-root h2 {
     font-size: 22px;
   }
 }
