.sf-install-assistant {
    --sf-install-primary: var(--sf-on-primary, var(--login-blue, #263db7));
    --sf-install-primary-dark: var(--sf-on-primary-dark, var(--login-blue-deep, #1f3199));
    position: fixed;
    inset: 0;
    z-index: 2147482500;
    display: grid;
    align-items: end;
    justify-items: center;
    padding: 18px max(16px, env(safe-area-inset-right)) max(18px, calc(env(safe-area-inset-bottom) + 12px)) max(16px, env(safe-area-inset-left));
    background: rgba(21, 29, 31, .34);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease, visibility .2s ease;
}
.sf-install-assistant.is-open { opacity: 1; visibility: visible; }
.sf-install-assistant__card {
    width: min(100%, 520px);
    max-height: min(720px, calc(100dvh - 36px));
    overflow: auto;
    overscroll-behavior: contain;
    border-radius: 28px;
    border: 1px solid rgba(205, 216, 213, .9);
    background: rgba(255, 255, 253, .98);
    box-shadow: 0 26px 72px rgba(24, 35, 38, .22), 0 2px 10px rgba(24, 35, 38, .08);
    color: #18211f;
    padding: 24px;
    transform: translateY(16px) scale(.985);
    transition: transform .24s cubic-bezier(.22,1,.36,1);
}
.sf-install-assistant.is-open .sf-install-assistant__card { transform: translateY(0) scale(1); }
.sf-install-assistant__top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.sf-install-assistant__mark {
    width: 44px; height: 44px; flex: 0 0 auto; display:grid; place-items:center;
    border-radius: 14px; color:#fff;
    background: linear-gradient(145deg, var(--sf-install-primary), var(--sf-install-primary-dark));
    box-shadow: 0 10px 24px color-mix(in srgb, var(--sf-install-primary) 24%, transparent);
}
.sf-install-assistant__mark svg { width:22px; height:22px; }
.sf-install-assistant__close {
    width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:14px;
    border:1px solid #dce5e2; background:#f8faf9; color:#43514d; font-size:22px; cursor:pointer;
}
.sf-install-assistant__eyebrow { margin:18px 0 7px; color:#7f8d88; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.sf-install-assistant h2 { margin:0; color:#17211f; font-size:clamp(23px, 6vw, 30px); line-height:1.08; letter-spacing:-.035em; font-weight:650; }
.sf-install-assistant__lead { margin:11px 0 0; color:#687773; font-size:15px; line-height:1.55; }
.sf-install-assistant__steps { display:grid; gap:10px; margin:20px 0; }
.sf-install-assistant__step { display:grid; grid-template-columns:34px minmax(0,1fr); gap:12px; align-items:start; padding:13px 14px; border:1px solid #e1e9e6; border-radius:17px; background:#fbfcfb; }
.sf-install-assistant__number { width:30px; height:30px; border-radius:10px; display:grid; place-items:center; background:color-mix(in srgb, var(--sf-install-primary) 10%, white); color:var(--sf-install-primary-dark); font-size:13px; font-weight:750; }
.sf-install-assistant__step strong { display:block; margin:1px 0 2px; font-size:14px; font-weight:650; color:#22302d; }
.sf-install-assistant__step span:last-child { display:block; color:#778580; font-size:13px; line-height:1.45; }
.sf-install-assistant__note { margin:0 0 18px; padding:12px 14px; border-radius:15px; background:#f3f6f5; color:#73817d; font-size:12.5px; line-height:1.5; }
.sf-install-assistant__actions { display:flex; gap:10px; }
.sf-install-assistant__button { min-height:48px; border-radius:15px; padding:0 18px; font:inherit; font-size:14px; font-weight:650; cursor:pointer; }
.sf-install-assistant__button--primary { flex:1; border:1px solid transparent; color:#fff; background:linear-gradient(135deg,var(--sf-install-primary),var(--sf-install-primary-dark)); box-shadow:0 10px 20px color-mix(in srgb,var(--sf-install-primary) 18%,transparent); }
.sf-install-assistant__button--secondary { border:1px solid #dce5e2; background:#fff; color:#44524f; }
.sf-install-assistant__button[hidden] { display:none !important; }
@media (min-width: 760px) {
    .sf-install-assistant { align-items:center; }
    .sf-install-assistant__card { padding:28px; border-radius:30px; }
}
@media (max-width: 420px) {
    .sf-install-assistant { padding-inline:10px; padding-bottom:max(10px, env(safe-area-inset-bottom)); }
    .sf-install-assistant__card { padding:20px; border-radius:24px; }
    .sf-install-assistant__actions { flex-direction:column; }
    .sf-install-assistant__button { width:100%; }
}
@media (prefers-reduced-motion: reduce) {
    .sf-install-assistant, .sf-install-assistant__card { transition:none !important; }
}
