/* ==== roaddog-ui auth styles v1.1.0 (Sheats CNY Technologies LLC) ====
   A1 look for the Welcome-register login / sign-up block and the Password Recovery page.
   Loaded ONLY on those pages (see RDUI_Assets). Everything is scoped under #rd-login / #rd-recovery (.rdui-auth) so no other page is touched.
   The page's own JavaScript (Digits REST login) is NOT modified; this sheet only styles its markup and the classes it toggles
   (.active, .rd-hidden, .msg.show.err/ok, .meter.m1-3, .spin, .wait, .expiry.warn). Tokens come from rdui-tokens.css. */
.rdui-auth{
  --brand:var(--rdui-red-text);--err:var(--rdui-red-text);--ok:var(--rdui-green-text);--muted:var(--rdui-muted);
  display:block;width:100%;max-width:480px;margin:0 auto;padding:var(--rdui-s5) var(--rdui-s4) 40px;
  font-family:var(--rdui-font);color:var(--rdui-ink);line-height:var(--rdui-lh);background:transparent}
.rdui-auth *{margin:0;padding:0;box-sizing:border-box}
.rdui-auth .wrap{width:100%}
.rdui-auth .brand{text-align:center;margin:8px 0 22px}
.rdui-auth .brand-title{font-size:var(--rdui-fs-2xl);font-weight:800;line-height:var(--rdui-lh-tight);letter-spacing:-.01em;color:var(--rdui-ink);margin:0 0 8px}
.rdui-auth .brand p{color:var(--rdui-muted);font-size:var(--rdui-fs-base);margin:0}
.rdui-auth .card{background:var(--rdui-bg);border-radius:var(--rdui-r-xl);box-shadow:var(--rdui-raise);overflow:hidden;border:0}
.rdui-auth .inner{padding:22px 20px 24px}
.rdui-auth .su-title{font-size:var(--rdui-fs-xl);font-weight:800;color:var(--rdui-ink);margin:0 0 16px;line-height:1.15;letter-spacing:-.01em}
.rdui-auth .hint{color:var(--rdui-muted);font-size:var(--rdui-fs-base);margin:0 0 16px;line-height:1.45}
.rdui-auth .help{color:var(--rdui-muted);font-size:var(--rdui-fs-sm);margin:6px 2px 0}

/* tabs: segmented, raised active */
.rdui-auth .tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:16px 16px 0;padding:6px;border-radius:var(--rdui-r-md);background:var(--rdui-bg);box-shadow:var(--rdui-inset-sm);border:0}
.rdui-auth .tabs.rd-hidden{display:none!important}
.rdui-auth .tabs button{min-height:var(--rdui-tap);border:0;border-radius:12px;background:transparent;color:var(--rdui-ink-2);font:inherit;font-weight:700;font-size:var(--rdui-fs-base);cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:normal;padding:0 8px}
.rdui-auth .tabs button.active{background:var(--rdui-bg-hi);color:var(--rdui-red-text);box-shadow:var(--rdui-raise-xs)}
.rdui-auth .tabs button:hover{background:var(--rdui-bg-hi);color:var(--rdui-ink)}
.rdui-auth .tabs button.active:hover{color:var(--rdui-red-text)}

/* labels + fields */
.rdui-auth label{display:block;font-size:15px;font-weight:600;color:var(--rdui-ink-2);margin:0 0 6px 2px;letter-spacing:normal;text-transform:none}
.rdui-auth .field{display:block;margin:0 0 16px}
.rdui-auth .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:380px){.rdui-auth .grid2{grid-template-columns:1fr;gap:0}}
.rdui-auth input[type=text],.rdui-auth input[type=tel],.rdui-auth input[type=email],.rdui-auth input[type=password]{
  display:block;width:100%;min-height:var(--rdui-btn-h);padding:0 16px;border:1.5px solid var(--rdui-line);border-radius:14px;
  background:var(--rdui-bg-hi);box-shadow:var(--rdui-inset-sm);color:var(--rdui-ink);font:inherit;font-size:16px;outline:none;height:auto;line-height:1.3;transition:border-color var(--rdui-dur-1),box-shadow var(--rdui-dur-1)}
.rdui-auth input::placeholder{color:#5f6a78;opacity:1}
.rdui-auth input:focus{border-color:var(--rdui-red-text);background:var(--rdui-bg-hi);box-shadow:var(--rdui-inset-sm),0 0 0 3px rgba(179,20,31,.18)}
.rdui-auth .phone-group{display:flex;align-items:stretch;border:1.5px solid var(--rdui-line);border-radius:14px;background:var(--rdui-bg-hi);box-shadow:var(--rdui-inset-sm);min-height:var(--rdui-btn-h)}
.rdui-auth .phone-group:focus-within{border-color:var(--rdui-red-text);box-shadow:var(--rdui-inset-sm),0 0 0 3px rgba(179,20,31,.18)}
.rdui-auth .phone-group .prefix{display:flex;align-items:center;padding:0 12px 0 14px;font-weight:600;color:var(--rdui-ink-2);border-right:1.5px solid var(--rdui-line-soft);white-space:nowrap}
.rdui-auth .phone-group input{border:0;box-shadow:none;background:transparent;min-height:0;border-radius:0 14px 14px 0}
.rdui-auth .phone-group input:focus{box-shadow:none}
.rdui-auth .pw-wrap{position:relative}
.rdui-auth .pw-wrap input{padding-right:52px}
.rdui-auth .pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:12px;background:transparent;color:var(--rdui-ink-2);cursor:pointer;box-shadow:none;padding:0}
.rdui-auth .pw-eye:hover{background:var(--rdui-sunk);color:var(--rdui-ink)}
.rdui-auth .hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;min-height:0!important;overflow:hidden;opacity:0}

/* buttons */
.rdui-auth .btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:var(--rdui-btn-h);padding:0 22px;border:0;border-radius:var(--rdui-r-md);cursor:pointer;
  font:inherit;font-size:17px;font-weight:700;text-transform:none;letter-spacing:normal;color:#fff;background:var(--rdui-red-btn);margin-top:6px;
  box-shadow:var(--rdui-glow-red),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -3px 0 rgba(0,0,0,.14);transition:transform var(--rdui-dur-1),background var(--rdui-dur-1)}
.rdui-auth .btn:hover{background:var(--rdui-red-btn);color:#fff;filter:brightness(1.06)}
.rdui-auth .btn:active{background:var(--rdui-red-dark);transform:translateY(1px);box-shadow:inset 0 3px 8px rgba(0,0,0,.28)}
.rdui-auth .btn:disabled{cursor:not-allowed;background:var(--rdui-sunk);color:var(--rdui-muted);box-shadow:var(--rdui-inset-sm);filter:none;transform:none;opacity:1}
.rdui-auth .btn:disabled .spin{border-color:rgba(74,85,99,.35);border-top-color:var(--rdui-muted)}
.rdui-auth .btn .arr{margin-left:2px}
.rdui-auth .spin{display:inline-block;width:18px;height:18px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:rduiAuthRot .8s linear infinite;vertical-align:-3px;margin-right:8px;flex:none}
@keyframes rduiAuthRot{to{transform:rotate(360deg)}}
.rdui-auth .linkline{text-align:center;margin-top:14px}
.rdui-auth .linkbtn,.rdui-auth .linkline a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--rdui-tap);padding:0 10px;border:0;background:transparent;box-shadow:none;
  color:var(--rdui-red-text);font:inherit;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;text-transform:none;letter-spacing:normal;border-radius:12px;vertical-align:middle}
.rdui-auth .linkbtn:hover,.rdui-auth .linkline a:hover{background:transparent;color:var(--rdui-red-dark)}
.rdui-auth .switchline{margin-top:18px;padding-top:12px;border-top:1.5px solid var(--rdui-line-soft);color:var(--rdui-muted);font-size:15px;font-weight:500}
.rdui-auth .back{display:inline-flex;align-items:center;gap:6px;min-height:var(--rdui-tap);margin:0 0 6px -8px;padding:0 10px;border:0;background:transparent;box-shadow:none;color:var(--rdui-ink-2);font:inherit;font-size:15px;font-weight:600;cursor:pointer;border-radius:12px;text-transform:none}
.rdui-auth .back:hover{background:var(--rdui-sunk);color:var(--rdui-ink)}
.rdui-auth :focus-visible{outline:3px solid var(--rdui-focus);outline-offset:3px}

/* checkboxes */
.rdui-auth .check-row{display:flex;gap:12px;align-items:flex-start;margin:0 0 6px;min-height:var(--rdui-tap);padding:8px 0;cursor:pointer;font-size:15px;font-weight:500;color:var(--rdui-ink-2);line-height:1.35}
.rdui-auth .check-row input{-webkit-appearance:none;appearance:none;flex:none;width:26px;height:26px;margin:-1px 0 0;border:2px solid var(--rdui-line);border-radius:8px;background:var(--rdui-bg-hi);display:grid;place-items:center;cursor:pointer;box-shadow:none}
.rdui-auth .check-row input:checked{background:var(--rdui-red-btn);border-color:var(--rdui-red-btn)}
.rdui-auth .check-row input:checked::after{content:"";width:6px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg) translate(-1px,-1px)}
.rdui-auth .check-row a{color:var(--rdui-red-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* messages */
.rdui-auth .msg{display:none;margin:0 0 16px;padding:12px 14px;border-radius:14px;font-size:15px;font-weight:600;line-height:1.35}
.rdui-auth .msg.show{display:block}
.rdui-auth .msg.err{background:#fff7f7;color:var(--rdui-red-text);box-shadow:inset 0 0 0 2px var(--rdui-red-text)}
.rdui-auth .msg.ok{background:var(--rdui-green-tint);color:var(--rdui-green-text);box-shadow:inset 0 0 0 2px var(--rdui-green)}
.rdui-auth .offline{margin:0 0 16px;padding:12px 14px;border-radius:14px;background:var(--rdui-amber-tint);color:var(--rdui-amber-text);box-shadow:inset 0 0 0 2px var(--rdui-amber);font-size:15px;line-height:1.35}
.rdui-auth .offline[hidden]{display:none}
.rdui-auth .rd-hidden{display:none!important}

/* OTP: six raised/inset boxes built by the page script */
.rdui-auth .otp-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.rdui-auth .otp-meta .to{font-size:15px;color:var(--rdui-muted)}
.rdui-auth .otp-meta .to b{color:var(--rdui-ink);font-weight:700}
.rdui-auth .expiry{font-size:14px;font-weight:600;color:var(--rdui-muted);font-variant-numeric:tabular-nums}
.rdui-auth .expiry.warn{color:var(--rdui-red-text)}
.rdui-auth .otp-row{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:6px 0 16px}
.rdui-auth .otp-row input{width:100%;min-width:0;height:60px;min-height:0;padding:0;text-align:center;font-size:26px;font-weight:700;border-radius:14px;font-variant-numeric:tabular-nums}
.rdui-auth .otp-row input:disabled{opacity:.55;cursor:not-allowed}
.rdui-auth .otp-row.is-invalid input{border-color:var(--rdui-red-text);border-width:2px;background:#fff7f7}
.rdui-auth .resend{font-size:15px;color:var(--rdui-muted);text-align:center;margin:0 0 12px}
.rdui-auth .resend .linkbtn{min-height:var(--rdui-tap)}
.rdui-auth .resend .linkbtn.wait{color:var(--rdui-muted);text-decoration:none;cursor:default;pointer-events:none}
#rd-login #resend-timer{font-variant-numeric:tabular-nums}

/* password strength */
.rdui-auth .meter{height:6px;border-radius:3px;background:var(--rdui-sunk);margin:10px 2px 2px;overflow:hidden;box-shadow:var(--rdui-inset-sm)}
.rdui-auth .meter i{display:block;height:100%;width:0;border-radius:3px;transition:width .25s;background:var(--rdui-red-btn)}
.rdui-auth .meter.m1 i{width:25%}
.rdui-auth .meter.m2 i{width:60%;background:var(--rdui-amber)}
.rdui-auth .meter.m3 i{width:100%;background:var(--rdui-green)}
.rdui-auth .meter-txt{font-size:14px;color:var(--rdui-muted);margin:4px 2px 0;min-height:1.2em}

/* success pane */
.rdui-auth .okwrap{text-align:center;padding:22px 0 10px}
.rdui-auth .okwrap .ck{width:64px;height:64px;border-radius:50%;background:var(--rdui-green);color:#fff;display:inline-grid;place-items:center;font-size:30px;font-weight:800;margin-bottom:14px;box-shadow:0 8px 18px rgba(21,128,61,.28);animation:rduiAuthPop .35s var(--rdui-ease)}
.rdui-auth .okwrap h2{font-size:var(--rdui-fs-xl);font-weight:800;margin-bottom:4px}
.rdui-auth .okwrap p{color:var(--rdui-muted)}
@keyframes rduiAuthPop{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.rdui-auth .pane-anim{animation:rduiAuthUp .25s var(--rdui-ease)}
@keyframes rduiAuthUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rdui-auth .msg.err{animation:rduiAuthShake .3s ease}
@keyframes rduiAuthShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media (prefers-reduced-motion:reduce){.rdui-auth *{animation:none!important;transition:none!important}}
.rdui-auth .foot{text-align:center;margin:18px 8px 0;color:var(--rdui-muted);font-size:14px;line-height:1.45}
.rdui-auth .foot a{color:var(--rdui-red-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (max-width:420px){.rdui-auth{padding-left:12px;padding-right:12px}.rdui-auth .inner{padding:20px 16px 22px}.rdui-auth .otp-row{gap:6px}.rdui-auth .otp-row input{height:54px;font-size:24px}}

/* ---- Password Recovery: the Digits "forgot password" modal trigger ([dm-forgot-password-modal]) ---- */
.rdui-auth--recovery .recovery-action{display:flex;justify-content:center;margin:6px 0 4px}
.rdui-auth--recovery span.digits-forgot-password-modal,
.rdui-auth--recovery .digits-forgot-password-modal{display:flex!important;align-items:center;justify-content:center;width:100%;min-height:var(--rdui-btn-h);padding:0 22px!important;border-radius:var(--rdui-r-md)!important;
  background:var(--rdui-red-btn)!important;color:#fff!important;font-family:var(--rdui-font)!important;font-size:17px!important;font-weight:700!important;letter-spacing:normal!important;text-transform:none!important;text-shadow:none!important;cursor:pointer;
  box-shadow:var(--rdui-glow-red),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -3px 0 rgba(0,0,0,.14)!important;transform:none!important}
.rdui-auth--recovery span.digits-forgot-password-modal>span{font-family:inherit!important;font-weight:700!important;color:#fff!important;text-shadow:none!important;letter-spacing:normal!important;position:static!important}
.rdui-auth--recovery span.digits-forgot-password-modal:hover{background:var(--rdui-red-btn)!important;filter:brightness(1.06);transform:none!important}
.rdui-auth--recovery span.digits-forgot-password-modal:active{background:var(--rdui-red-dark)!important;transform:translateY(1px)!important}
.rdui-auth--recovery span.digits-forgot-password-modal::before{display:none!important}

/* new-password step (reset link / after the text code): hide the "enter your email" intro */
.rdui-auth #pane-forgot:has(#f-newpass:not(.rd-hidden)) .hint{display:none}
