/* ==== roaddog-ui base + components v1.0.0. Everything is scoped under .rdui (root wrapper; sheets moved to <body> carry .rdui too).
   (0,2,0) selectors beat Hello/Elementor bare button/h1 rules without !important. ==== */
.rdui{font-family:var(--rdui-font);color:var(--rdui-ink);font-size:var(--rdui-fs-base);line-height:var(--rdui-lh);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.rdui *,.rdui *::before,.rdui *::after{box-sizing:border-box}
.rdui :where(h1,h2,h3,h4,p,ul,ol,figure,dl,dd,fieldset){margin:0;padding:0;border:0}
.rdui :where(h1,h2,h3,h4){font-family:inherit;text-transform:none;letter-spacing:-.01em;color:inherit}
.rdui :where(ul,ol){list-style:none}
.rdui :where(button,input,select,textarea){font:inherit;color:inherit;letter-spacing:normal;text-transform:none;margin:0}
.rdui :where(img,svg){max-width:100%}
.rdui :focus-visible{outline:3px solid var(--rdui-focus);outline-offset:3px}
.rdui [tabindex="-1"]:focus{outline:none}
.rdui .rdui-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rdui .rdui-ico{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.125em}
/* type */
.rdui .rdui-display{font-size:var(--rdui-fs-display);font-weight:900;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.rdui .rdui-h1{font-size:var(--rdui-fs-2xl);font-weight:700;line-height:var(--rdui-lh-tight)}
.rdui .rdui-h2{font-size:22px;font-weight:700;line-height:1.2}
.rdui .rdui-h3{font-size:var(--rdui-fs-md);font-weight:600;line-height:1.25}
.rdui .rdui-body{font-size:var(--rdui-fs-base)}
.rdui .rdui-small{font-size:var(--rdui-fs-sm)}
.rdui .rdui-caption{font-size:var(--rdui-fs-xs);font-weight:600;color:var(--rdui-muted)}
.rdui .rdui-muted{color:var(--rdui-muted)}
.rdui .rdui-red{color:var(--rdui-red-text)}
.rdui .rdui-eyebrow{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--rdui-red-text)}
.rdui .rdui-label-caps{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--rdui-muted)}
.rdui .rdui-link{color:var(--rdui-red-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.rdui .rdui-num{font-variant-numeric:tabular-nums}
/* layout */
.rdui .rdui-stack{display:grid;gap:var(--rdui-s4)}
.rdui .rdui-stack--lg{gap:var(--rdui-s6)}.rdui .rdui-stack--sm{gap:var(--rdui-s2)}
.rdui .rdui-row{display:flex;align-items:center;gap:var(--rdui-s3)}
.rdui .rdui-row--between{justify-content:space-between}
.rdui .rdui-grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--rdui-s3)}
.rdui .rdui-section-h{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 4px 0}
/* ---------------- buttons ---------------- */
.rdui .rdui-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--rdui-btn-h);padding:0 22px;border:0;border-radius:var(--rdui-r-md);
  font-size:17px;font-weight:700;line-height:1.15;text-align:center;text-decoration:none;cursor:pointer;background:var(--rdui-bg);color:var(--rdui-ink-2);
  transition:background var(--rdui-dur-1),box-shadow var(--rdui-dur-1),transform var(--rdui-dur-1)}
.rdui .rdui-btn .rdui-ico{font-size:21px}
.rdui .rdui-btn--block{display:flex;width:100%}
.rdui .rdui-btn--sm{min-height:var(--rdui-tap);padding:0 16px;font-size:15px;border-radius:var(--rdui-r-sm)}
.rdui .rdui-btn--sm .rdui-ico{font-size:18px}
.rdui .rdui-btn--lg{min-height:60px;font-size:18px;border-radius:18px}
.rdui .rdui-btn--primary{background:var(--rdui-red-btn);color:#fff;box-shadow:var(--rdui-glow-red),inset 0 1px 0 rgba(255,255,255,.22),inset 0 -3px 0 rgba(0,0,0,.14)}
.rdui .rdui-btn--primary:active{background:var(--rdui-red-dark);transform:translateY(1px);box-shadow:inset 0 3px 8px rgba(0,0,0,.28)}
.rdui .rdui-btn--secondary{background:var(--rdui-bg);color:var(--rdui-ink-2);box-shadow:var(--rdui-raise-sm)}
.rdui .rdui-btn--secondary:active{box-shadow:var(--rdui-inset-sm)}
.rdui .rdui-btn--quiet{background:transparent;color:var(--rdui-ink-2);min-height:var(--rdui-tap);font-weight:600;text-decoration:underline;text-underline-offset:3px;box-shadow:none;padding:0 14px}
.rdui .rdui-btn--quiet:active{background:var(--rdui-sunk)}
.rdui .rdui-btn--danger{background:var(--rdui-bg);color:var(--rdui-red-text);box-shadow:var(--rdui-raise-sm),inset 0 0 0 2px var(--rdui-red-text)}
.rdui .rdui-btn--danger:active{background:var(--rdui-red-tint)}
.rdui .rdui-btn--dark{background:var(--rdui-black);color:#fff;box-shadow:0 8px 18px rgba(18,18,18,.25)}
.rdui .rdui-btn:disabled,.rdui .rdui-btn[aria-disabled="true"]{cursor:not-allowed;background:var(--rdui-sunk);color:var(--rdui-muted);box-shadow:var(--rdui-inset-sm);transform:none}
.rdui .rdui-btn.is-busy{cursor:progress;background:var(--rdui-red-dark);color:#fff;box-shadow:none}
.rdui .rdui-iconbtn{position:relative;display:inline-grid;place-items:center;width:var(--rdui-tap);height:var(--rdui-tap);padding:0;border:0;border-radius:14px;
  background:var(--rdui-bg);color:var(--rdui-ink-2);box-shadow:var(--rdui-raise-sm);cursor:pointer;font-size:22px;flex:none}
.rdui .rdui-iconbtn:active,.rdui .rdui-iconbtn[aria-expanded="true"]{box-shadow:var(--rdui-inset-sm);color:var(--rdui-red-text)}
.rdui .rdui-iconbtn--flat{box-shadow:none;background:transparent}
.rdui .rdui-badge{border:0;position:absolute;top:-5px;right:-5px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--rdui-red-btn);color:#fff;
  font-size:12px;font-weight:800;line-height:22px;text-align:center;box-shadow:0 0 0 2px var(--rdui-bg)}
.rdui .rdui-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--rdui-red);flex:none}
/* spinner */
.rdui .rdui-spinner{display:inline-block;width:22px;height:22px;border-radius:50%;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;animation:rdui-rot .8s linear infinite;flex:none}
.rdui .rdui-spinner--red{border-color:rgba(235,35,45,.22);border-top-color:var(--rdui-red);width:32px;height:32px;border-width:4px}
/* ---------------- forms ---------------- */
.rdui .rdui-field{display:grid;gap:6px;min-width:0}
.rdui .rdui-label{font-size:15px;font-weight:600;color:var(--rdui-ink-2)}
.rdui .rdui-label small{font-weight:500;color:var(--rdui-muted);font-size:14px}
.rdui .rdui-input,.rdui .rdui-select,.rdui .rdui-textarea{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);color:var(--rdui-ink);font-size:16px;font-weight:500;box-shadow:var(--rdui-inset-sm);-webkit-appearance:none;appearance:none;outline:none;
  transition:border-color var(--rdui-dur-1),box-shadow var(--rdui-dur-1)}
.rdui .rdui-input::placeholder,.rdui .rdui-textarea::placeholder{color:#5f6a78;opacity:1}
.rdui .rdui-input:focus,.rdui .rdui-select:focus,.rdui .rdui-textarea:focus{border-color:var(--rdui-red-text);box-shadow:var(--rdui-inset-sm),0 0 0 3px rgba(179,20,31,.18)}
.rdui .rdui-input[readonly]{background:var(--rdui-bg);color:var(--rdui-ink-2);border-style:dashed}
.rdui .rdui-textarea{min-height:128px;padding:14px 16px;resize:vertical;line-height:1.4}
.rdui .rdui-select{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%232c3e50' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:20px}
.rdui [aria-invalid="true"].rdui-input,.rdui [aria-invalid="true"].rdui-select,.rdui [aria-invalid="true"].rdui-textarea{border-color:var(--rdui-red-text);border-width:2px;background:#fff7f7}
.rdui .rdui-help{font-size:14px;color:var(--rdui-muted)}
.rdui .rdui-err{display:flex;gap:6px;align-items:flex-start;font-size:14px;font-weight:600;color:var(--rdui-red-text)}
.rdui .rdui-err .rdui-ico{font-size:17px;margin-top:1px}
.rdui .rdui-input-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 .rdui-input-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 .rdui-input-group[data-invalid]{border-color:var(--rdui-red-text);border-width:2px;background:#fff7f7}
.rdui .rdui-input-group .rdui-input{border:0;box-shadow:none;background:transparent;min-height:0}
.rdui .rdui-input-group .rdui-input:focus{box-shadow:none}
.rdui .rdui-prefix{display:flex;align-items:center;gap:6px;padding:0 4px 0 14px;font-weight:600;color:var(--rdui-ink-2);border-right:1.5px solid var(--rdui-line-soft);min-width:72px}
.rdui .rdui-input-group .rdui-iconbtn{box-shadow:none;background:transparent;margin:4px;width:44px;height:44px}
.rdui .rdui-otp{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.rdui .rdui-otp input{width:100%;height:60px;padding:0;text-align:center;font-size:26px;font-weight:700;border:1.5px solid var(--rdui-line);border-radius:14px;background:var(--rdui-bg-hi);box-shadow:var(--rdui-inset-sm);outline:none;font-variant-numeric:tabular-nums}
.rdui .rdui-otp input:focus{border-color:var(--rdui-red-text);box-shadow:var(--rdui-inset-sm),0 0 0 3px rgba(179,20,31,.18)}
.rdui .rdui-otp[data-invalid] input{border-color:var(--rdui-red-text);border-width:2px;background:#fff7f7}
.rdui .rdui-check{display:flex;align-items:flex-start;gap:12px;min-height:var(--rdui-tap);padding:10px 0;cursor:pointer;font-size:15px;line-height:1.35}
.rdui .rdui-check input{-webkit-appearance:none;appearance:none;flex:none;width:26px;height:26px;margin:-2px 0 0;border:2px solid var(--rdui-line);border-radius:8px;background:var(--rdui-bg-hi);display:grid;place-items:center;cursor:pointer}
.rdui .rdui-check input:checked{background:var(--rdui-red-btn);border-color:var(--rdui-red-btn)}
.rdui .rdui-check input:checked::after{content:"";width:12px;height:7px;border:3px solid #fff;border-top:0;border-right:0;transform:translateY(-2px) rotate(-45deg)}
.rdui .rdui-check input[type=radio]{border-radius:50%}
.rdui .rdui-check input[type=radio]:checked::after{width:10px;height:10px;border:0;border-radius:50%;background:#fff;transform:none}
.rdui .rdui-switch{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;cursor:pointer}
.rdui .rdui-switch span b{display:block;font-weight:600}.rdui .rdui-switch span small{font-size:14px;color:var(--rdui-muted)}
.rdui .rdui-switch input{-webkit-appearance:none;appearance:none;flex:none;position:relative;width:52px;height:32px;border-radius:16px;background:var(--rdui-line);box-shadow:var(--rdui-inset-sm);cursor:pointer;transition:background var(--rdui-dur-2)}
.rdui .rdui-switch input::after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.25);transition:transform var(--rdui-dur-2) var(--rdui-ease)}
.rdui .rdui-switch input:checked{background:var(--rdui-red-btn)}
.rdui .rdui-switch input:checked::after{transform:translateX(20px)}
/* choice cards (radio/checkbox as raised tiles) */
.rdui .rdui-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rdui .rdui-choice{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:104px;padding:14px;border-radius:var(--rdui-r-lg);background:var(--rdui-bg);box-shadow:var(--rdui-raise-sm);cursor:pointer;font-size:15px;font-weight:600;line-height:1.2}
.rdui .rdui-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.rdui .rdui-choice__ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:23px;background:var(--rdui-bg-hi);color:var(--rdui-ink-2);box-shadow:var(--rdui-raise-xs)}
.rdui .rdui-choice small{font-size:13px;font-weight:500;color:var(--rdui-muted)}
.rdui .rdui-choice:has(input:checked){box-shadow:var(--rdui-inset-sm),inset 0 0 0 2px var(--rdui-red-btn)}
.rdui .rdui-choice:has(input:checked) .rdui-choice__ico{background:var(--rdui-red-btn);color:#fff;box-shadow:none}
.rdui .rdui-choice:has(input:focus-visible){outline:3px solid var(--rdui-focus);outline-offset:3px}
.rdui .rdui-choice__tick{position:absolute;top:12px;right:12px;width:24px;height:24px;border-radius:50%;border:2px solid var(--rdui-line);display:grid;place-items:center;font-size:14px;color:transparent}
.rdui .rdui-choice:has(input:checked) .rdui-choice__tick{background:var(--rdui-red-btn);border-color:var(--rdui-red-btn);color:#fff}
.rdui .rdui-choices[data-invalid] .rdui-choice{box-shadow:var(--rdui-raise-sm),inset 0 0 0 2px var(--rdui-red-text)}
/* ---------------- pills ---------------- */
.rdui .rdui-pill{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:3px 11px;border-radius:var(--rdui-r-pill);font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;background:var(--rdui-bg-hi);color:var(--rdui-ink-2)}
.rdui .rdui-pill .rdui-ico{font-size:14px}
.rdui .rdui-pill--raised{background:var(--rdui-bg);box-shadow:var(--rdui-raise-xs)}
.rdui .rdui-pill--red{background:var(--rdui-red-tint);color:var(--rdui-red-text)}
.rdui .rdui-pill--solid{background:var(--rdui-red-btn);color:#fff}
.rdui .rdui-pill--dark{background:var(--rdui-black);color:#fff}
.rdui .rdui-pill--green{background:var(--rdui-green-tint);color:var(--rdui-green-text)}
.rdui .rdui-pill--amber{background:var(--rdui-amber-tint);color:var(--rdui-amber-text)}
.rdui .rdui-pill--blue{background:var(--rdui-blue-tint);color:var(--rdui-blue)}
.rdui .rdui-pill--purple{background:var(--rdui-purple-tint);color:var(--rdui-purple)}
.rdui .rdui-flash{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 9px;border-radius:var(--rdui-r-pill);background:var(--rdui-red-btn);color:#fff;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 5px 12px rgba(196,18,31,.32);transform:rotate(-3deg)}
/* ---------------- cards ---------------- */
.rdui .rdui-card{position:relative;background:var(--rdui-bg);border-radius:var(--rdui-r-xl);padding:var(--rdui-s4);box-shadow:var(--rdui-raise)}
.rdui .rdui-card--sm{box-shadow:var(--rdui-raise-sm);border-radius:var(--rdui-r-lg)}
.rdui .rdui-card--inset{box-shadow:var(--rdui-inset);background:var(--rdui-bg)}
.rdui .rdui-card--flat{box-shadow:none;background:var(--rdui-bg-hi)}
.rdui .rdui-card--accent{box-shadow:var(--rdui-raise),inset 0 0 0 2px var(--rdui-red)}
.rdui .rdui-card--dark{background:var(--rdui-black);color:#fff;box-shadow:0 14px 30px rgba(18,18,18,.28);overflow:hidden}
.rdui .rdui-card__title{font-size:var(--rdui-fs-md);font-weight:700;line-height:1.2}
.rdui a.rdui-card,.rdui button.rdui-card{display:block;width:100%;text-align:left;color:inherit;text-decoration:none;border:0;cursor:pointer}
.rdui a.rdui-card:active,.rdui button.rdui-card:active{box-shadow:var(--rdui-raise-sm)}
/* medallion frames + universal image plate */
.rdui .rdui-medal{position:relative;display:block;flex:none;width:88px;height:88px;padding:5px;border-radius:26px;background:var(--rdui-bg);box-shadow:5px 5px 11px var(--rdui-sd),-5px -5px 11px var(--rdui-sl)}
.rdui .rdui-medal>.rdui-img{border-radius:21px}
.rdui .rdui-medal--sm{width:56px;height:56px;padding:4px;border-radius:18px;box-shadow:var(--rdui-raise-sm)}.rdui .rdui-medal--sm>.rdui-img{border-radius:14px}
.rdui .rdui-medal--lg{width:164px;height:164px;padding:8px;border-radius:42px;box-shadow:var(--rdui-raise)}.rdui .rdui-medal--lg>.rdui-img{border-radius:34px;font-size:40px}
.rdui .rdui-medal--ring{box-shadow:var(--rdui-raise),inset 0 0 0 3px var(--rdui-red)}
.rdui .rdui-medal--round,.rdui .rdui-medal--round>.rdui-img{border-radius:50%}
.rdui .rdui-medal__badge{position:absolute;right:-10px;bottom:-8px;z-index:3;padding:5px 11px;border-radius:999px;background:var(--rdui-red-btn);color:#fff;font-size:13px;font-weight:800;letter-spacing:.06em;border:3px solid var(--rdui-bg);box-shadow:0 5px 12px rgba(196,18,31,.35);transform:rotate(-6deg);white-space:nowrap}
.rdui .rdui-medal__icon{display:grid;place-items:center;width:100%;height:100%;border-radius:21px;background:var(--rdui-red);color:#fff;font-size:38px;
  background-image:radial-gradient(circle at 30% 22%,rgba(255,255,255,.28),transparent 55%)}
.rdui .rdui-medal--lg .rdui-medal__icon{border-radius:34px;font-size:76px}
.rdui .rdui-medal--sm .rdui-medal__icon{border-radius:14px;font-size:26px}
.rdui .rdui-img{position:relative;display:block;overflow:hidden;background:#fff;isolation:isolate;width:100%;height:100%}
.rdui .rdui-img__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(14px) saturate(1.25);transform:scale(1.35);opacity:.6;z-index:0}
.rdui .rdui-img__fg{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:contain}
.rdui .rdui-img__fb{display:none;position:absolute;inset:0;z-index:2;place-items:center;background:var(--rdui-black);color:#fff;font-weight:700;background-image:radial-gradient(circle at 70% 20%,rgba(235,35,45,.55),transparent 55%)}
.rdui .rdui-img.is-missing .rdui-img__fb{display:grid}.rdui .rdui-img.is-missing img{display:none}
.rdui .rdui-avatar{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--rdui-black);color:#fff;font-weight:700;font-size:16px;box-shadow:0 0 0 3px var(--rdui-bg),var(--rdui-raise-sm)}
/* list rows */
.rdui .rdui-list{display:grid}
.rdui .rdui-li{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 4px;color:inherit;text-decoration:none;width:100%;background:none;border:0;text-align:left;cursor:pointer;font-size:16px}
.rdui .rdui-li+.rdui-li{border-top:1px solid var(--rdui-line-soft)}
.rdui .rdui-li__ico{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--rdui-bg);box-shadow:var(--rdui-raise-xs);font-size:21px;color:var(--rdui-ink-2);flex:none}
.rdui .rdui-li__main{flex:1;min-width:0}
.rdui .rdui-li__main b{display:block;font-weight:600;line-height:1.25}
.rdui .rdui-li__main small{display:block;font-size:14px;color:var(--rdui-muted);margin-top:1px}
.rdui .rdui-li__end{display:flex;align-items:center;gap:8px;color:var(--rdui-muted);font-size:14px;flex:none}
.rdui .rdui-li[aria-current] .rdui-li__ico{background:var(--rdui-red-btn);color:#fff;box-shadow:none}
.rdui .rdui-li[aria-current] b{color:var(--rdui-red-text)}
/* segmented tabs */
.rdui .rdui-seg{display:flex;gap:4px;padding:5px;border-radius:18px;background:var(--rdui-bg);box-shadow:var(--rdui-inset-sm)}
.rdui .rdui-seg__btn{flex:1;min-height:var(--rdui-tap);padding:0 10px;border:0;border-radius:13px;background:transparent;color:var(--rdui-muted);font-size:15px;font-weight:700;cursor:pointer;white-space:nowrap}
.rdui .rdui-seg__btn[aria-selected="true"]{background:var(--rdui-bg-hi);color:var(--rdui-red-text);box-shadow:var(--rdui-raise-xs)}
.rdui .rdui-chips{display:flex;gap:8px;overflow-x:auto;padding:6px 4px 10px;margin:0 -4px;scrollbar-width:none}
.rdui .rdui-chips::-webkit-scrollbar{display:none}
.rdui .rdui-chip{flex:none;min-height:var(--rdui-tap);padding:0 16px;border:0;border-radius:var(--rdui-r-pill);background:var(--rdui-bg);box-shadow:var(--rdui-raise-xs);color:var(--rdui-ink-2);font-size:15px;font-weight:600;cursor:pointer}
.rdui .rdui-chip[aria-pressed="true"]{background:var(--rdui-black);color:#fff;box-shadow:none}
/* progress */
.rdui .rdui-progress{height:12px;border-radius:6px;background:var(--rdui-bg);box-shadow:var(--rdui-inset-sm);overflow:hidden}
.rdui .rdui-progress>i{display:block;height:100%;border-radius:6px;background:var(--rdui-red);min-width:12px}
.rdui .rdui-track{display:flex;gap:6px;align-items:center;padding:10px 12px;border-radius:var(--rdui-r-pill);box-shadow:var(--rdui-inset)}
.rdui .rdui-track__dots{display:flex;gap:6px;flex-wrap:wrap}
.rdui .rdui-track__dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--rdui-line);display:grid;place-items:center;color:#fff;font-size:13px}
.rdui .rdui-track__dot.is-on{border-color:var(--rdui-red);background:radial-gradient(circle at 35% 30%,#f2525b,var(--rdui-red) 60%,var(--rdui-red-dark))}
.rdui .rdui-track__dot.is-next{border-style:dashed;border-color:var(--rdui-red)}
.rdui .rdui-track__n{margin-left:auto;font-size:15px;font-weight:700}
.rdui .rdui-steps{display:flex;gap:8px;align-items:center}
.rdui .rdui-steps__i{flex:1;height:8px;border-radius:4px;background:var(--rdui-sunk);box-shadow:var(--rdui-inset-sm)}
.rdui .rdui-steps__i.is-done{background:var(--rdui-red);box-shadow:none}
.rdui .rdui-steps__i.is-cur{background:linear-gradient(90deg,var(--rdui-red) 50%,var(--rdui-sunk) 50%);box-shadow:none}
/* alerts + toasts */
.rdui .rdui-alert{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--rdui-r-md);font-size:15px;line-height:1.4;background:var(--rdui-bg-hi);color:var(--rdui-ink)}
.rdui .rdui-alert>.rdui-ico{font-size:22px;margin-top:-1px}
.rdui .rdui-alert b{display:block}
.rdui .rdui-alert--error{background:#fdeced;box-shadow:inset 4px 0 0 var(--rdui-red-text)}.rdui .rdui-alert--error>.rdui-ico{color:var(--rdui-red-text)}
.rdui .rdui-alert--success{background:var(--rdui-green-tint);box-shadow:inset 4px 0 0 var(--rdui-green)}.rdui .rdui-alert--success>.rdui-ico{color:var(--rdui-green-text)}
.rdui .rdui-alert--warn{background:var(--rdui-amber-tint);box-shadow:inset 4px 0 0 var(--rdui-amber)}.rdui .rdui-alert--warn>.rdui-ico{color:var(--rdui-amber-text)}
.rdui .rdui-alert--info{background:var(--rdui-blue-tint);box-shadow:inset 4px 0 0 var(--rdui-blue)}.rdui .rdui-alert--info>.rdui-ico{color:var(--rdui-blue)}
.rdui .rdui-toast{position:fixed;z-index:var(--rdui-z-toast);left:calc(16px + var(--rdui-sal));right:calc(16px + var(--rdui-sar));bottom:calc(16px + var(--rdui-sab));max-width:440px;margin:0 auto;
  display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 8px 8px 16px;border-radius:18px;background:var(--rdui-black);color:#fff;font-size:15px;font-weight:600;box-shadow:0 14px 32px rgba(18,18,18,.35);animation:rdui-up var(--rdui-dur-3) var(--rdui-ease)}
.rdui .rdui-toast__ico{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--rdui-green);color:#fff;font-size:18px;flex:none}
.rdui .rdui-toast__ico--err{background:var(--rdui-red-btn)}
.rdui .rdui-toast__msg{flex:1}
.rdui .rdui-toast__act{min-height:var(--rdui-tap);padding:0 14px;border:0;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;font-weight:700;cursor:pointer}
.rdui .rdui-toast.is-static{position:static;animation:none;box-shadow:0 8px 18px rgba(18,18,18,.22)}
.rdui-has-tabbar .rdui .rdui-toast,.rdui.rdui-has-tabbar .rdui-toast{bottom:calc(var(--rdui-tabbar-h) + 14px + var(--rdui-sab))}
/* ---------------- bottom sheet / drawer ---------------- */
.rdui .rdui-scrim{position:fixed;inset:0;z-index:var(--rdui-z-sheet);background:rgba(27,31,36,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:rdui-fade var(--rdui-dur-2) ease-out}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.rdui .rdui-scrim{background:rgba(27,31,36,.66)}}
/* 1.7.0: look (bg, radius, shadow, padding, handle, head, title, motion) comes from rdui-popup.css; structure only here */
.rdui .rdui-sheet{position:fixed;z-index:calc(var(--rdui-z-sheet) + 1);left:0;right:0;bottom:0;margin:0 auto;overflow:auto;overscroll-behavior:contain}
.rdui .rdui-sheet__head{display:flex;align-items:center;gap:12px}
.rdui .rdui-sheet--center{text-align:center}
.rdui .rdui-drawer{position:fixed;z-index:calc(var(--rdui-z-sheet) + 1);top:0;right:0;bottom:0;width:min(86vw,340px);overflow:auto;overscroll-behavior:contain;background:var(--rdui-bg);
  border-radius:var(--rdui-r-2xl) 0 0 var(--rdui-r-2xl);padding:calc(14px + var(--rdui-sat)) calc(16px + var(--rdui-sar)) calc(20px + var(--rdui-sab)) 18px;box-shadow:-14px 0 40px rgba(18,18,18,.3);animation:rdui-left var(--rdui-dur-3) var(--rdui-ease)}
/* skeleton + loaders (replaces the bouncing-dog preloader) */
.rdui .rdui-skel{display:block;border-radius:10px;background:linear-gradient(100deg,#d3dde8 30%,#e9eff5 50%,#d3dde8 70%);background-size:300% 100%;animation:rdui-shimmer 1.4s linear infinite}
.rdui .rdui-skel--text{height:14px;margin:6px 0}.rdui .rdui-skel--title{height:22px;width:60%}
.rdui .rdui-skel--circle{border-radius:50%}
.rdui .rdui-loadbar{position:fixed;left:0;right:0;top:calc(var(--rdui-topbar-h) + var(--rdui-sat));z-index:calc(var(--rdui-z-bar) + 1);height:3px;overflow:hidden;background:rgba(235,35,45,.15)}
.rdui .rdui-loadbar>i{display:block;width:40%;height:100%;background:var(--rdui-red);border-radius:2px;animation:rdui-loadbar 1.1s var(--rdui-ease) infinite}
/* empty state */
.rdui .rdui-empty{display:grid;justify-items:center;gap:10px;text-align:center;padding:28px 12px}
.rdui .rdui-empty__art{display:grid;place-items:center;width:104px;height:104px;border-radius:34px;background:var(--rdui-bg);box-shadow:var(--rdui-raise);font-size:46px;color:var(--rdui-ink-2);margin-bottom:8px}
.rdui .rdui-empty p{color:var(--rdui-muted);max-width:290px}
/* success mark */
.rdui .rdui-check-anim{display:block;width:96px;height:96px;margin:0 auto;overflow:visible}
.rdui .rdui-check-anim__disc{fill:var(--rdui-red);transform-origin:48px 48px;animation:rdui-pop .5s cubic-bezier(.2,1.5,.4,1) both}
.rdui .rdui-check-anim__tick{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:60;animation:rdui-draw .42s .3s ease-out forwards}
/* ---------------- app shell: top bar, tab bar, footer ---------------- */
.rdui .rdui-topbar{position:fixed;z-index:var(--rdui-z-bar);top:0;left:0;right:0;padding:var(--rdui-sat) calc(14px + var(--rdui-sar)) 0 calc(14px + var(--rdui-sal));background:var(--rdui-bg);box-shadow:0 6px 16px -6px rgba(130,150,175,.55)}
.rdui .rdui-topbar__in{display:flex;align-items:center;gap:10px;height:var(--rdui-topbar-h);max-width:var(--rdui-max);margin:0 auto}
.rdui .rdui-topbar__end{display:flex;gap:12px;margin-left:auto}
.rdui .rdui-logo{display:flex;align-items:center;gap:10px;min-height:var(--rdui-tap);color:var(--rdui-ink);text-decoration:none;border-radius:12px}
.rdui .rdui-logo__mark{width:40px;height:40px;flex:none;border-radius:13px;box-shadow:var(--rdui-raise-xs)}
.rdui .rdui-logo__txt{display:grid;line-height:1}
.rdui .rdui-logo__txt b{font-size:20px;font-weight:800;letter-spacing:-.02em}
.rdui .rdui-logo__txt span{font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--rdui-red-text);margin-top:3px}
.rdui .rdui-topbar__title{font-size:18px;font-weight:700;flex:1;text-align:center}
.rdui .rdui-tabbar{position:fixed;z-index:var(--rdui-z-bar);left:0;right:0;bottom:0;display:flex;justify-content:space-around;background:var(--rdui-bg);
  padding:6px calc(8px + var(--rdui-sar)) calc(6px + var(--rdui-sab)) calc(8px + var(--rdui-sal));box-shadow:0 -6px 18px -4px rgba(130,150,175,.5)}
.rdui .rdui-tab{flex:1;max-width:120px;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;font-weight:700;color:var(--rdui-muted);text-decoration:none;border-radius:14px}
.rdui .rdui-tab__ico{display:grid;place-items:center;width:52px;height:30px;border-radius:15px;font-size:22px;position:relative}
.rdui .rdui-tab[aria-current] {color:var(--rdui-red-text)}
.rdui .rdui-tab[aria-current] .rdui-tab__ico{background:var(--rdui-red-tint);box-shadow:var(--rdui-inset-sm)}
.rdui .rdui-tab .rdui-badge{top:-4px;right:4px}
.rdui-kb .rdui .rdui-tabbar{display:none}  /* keyboard open: free the space */
@media (min-width:760px){.rdui .rdui-tabbar{display:none}.rdui .rdui-page--tabs{padding-bottom:calc(32px + var(--rdui-sab))}}  /* desktop website: top bar + menu only */
.rdui .rdui-page{max-width:var(--rdui-max);margin:0 auto;padding:calc(var(--rdui-topbar-h) + var(--rdui-sat) + 18px) calc(16px + var(--rdui-sar)) calc(28px + var(--rdui-sab)) calc(16px + var(--rdui-sal))}
.rdui .rdui-page--tabs{padding-bottom:calc(var(--rdui-tabbar-h) + 28px + var(--rdui-sab))}
.rdui .rdui-page--bare{padding-top:calc(var(--rdui-sat) + 18px)}
.rdui .rdui-footer{margin-top:36px;padding:22px 4px 8px;border-top:1px solid var(--rdui-line-soft);display:grid;gap:12px;justify-items:center;text-align:center;color:var(--rdui-muted);font-size:14px}
.rdui .rdui-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 6px}
.rdui .rdui-footer a{display:inline-flex;align-items:center;min-height:var(--rdui-tap);padding:0 10px;color:var(--rdui-ink-2);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* motion */
@keyframes rdui-rot{to{transform:rotate(360deg)}}
@keyframes rdui-fade{from{opacity:0}}
@keyframes rdui-up{from{transform:translateY(40px);opacity:0}}
@keyframes rdui-left{from{transform:translateX(60px);opacity:0}}
@keyframes rdui-pop{from{transform:scale(.3);opacity:0}}
@keyframes rdui-draw{to{stroke-dashoffset:0}}
@keyframes rdui-shimmer{from{background-position:100% 0}to{background-position:-200% 0}}
@keyframes rdui-loadbar{from{transform:translateX(-100%)}to{transform:translateX(260%)}}
@keyframes rdui-breathe{0%,100%{opacity:.45}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .rdui *,.rdui *::before,.rdui *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .rdui .rdui-check-anim__tick{stroke-dashoffset:0}
  .rdui .rdui-skel{animation:none!important;background:#d6e0ea}
  .rdui .rdui-spinner,.rdui .rdui-loadbar>i{animation:rdui-breathe 1.6s ease-in-out infinite!important;animation-duration:1.6s!important;animation-iteration-count:infinite!important}
  .rdui .rdui-loadbar>i{width:100%;transform:none}
}
