:root{--ds-brand:#7c5cff;--ds-brand-strong:#4a27d4;--ds-ok:#3ddc97;--ds-alert:#d64562;--ds-grad-brand:linear-gradient(135deg, #7c5cff, #4a27d4);--ds-bg:#ecebf5;--ds-surface:#fff;--ds-border:#140a3214;--ds-text:#1a1130;--ds-muted:#6f688c;--ds-faint:#a49cc0;--ds-brand-text:#5a31f4;--ds-brand-icon:#5a31f4;--ds-ok-text:#12996f;--ds-tile-brand-bg:#7c5cff1f;--ds-tile-brand-fg:#5a31f4;--ds-tile-ok-bg:#12996f1f;--ds-radius-tile:13px;--ds-radius-chip:9999px;--ds-radius-card:18px;--ds-shadow-cta:0 4px 12px #7c5cff66;--color-ink:var(--ds-text);--color-muted:var(--ds-muted);--color-faint:var(--ds-faint);--color-hairline:var(--ds-border)}.os-card{background:var(--ds-surface);border:1px solid var(--ds-border);border-radius:var(--ds-radius-card)}.os-tile{border-radius:var(--ds-radius-tile);flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;display:flex}.os-tile-brand{background:var(--ds-tile-brand-bg);color:var(--ds-tile-brand-fg)}.os-btn{border-radius:var(--ds-radius-chip);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:15px;font-weight:600;line-height:1;transition:transform 80ms,background-color .12s,opacity .12s;display:inline-flex}.os-btn:active{transform:scale(.985)}.os-btn:disabled{opacity:.55;cursor:not-allowed}.os-btn-block{width:100%}.os-btn-lg{padding:16px 22px;font-size:16px}.os-btn-brand{background:var(--ds-grad-brand);color:#fff;box-shadow:var(--ds-shadow-cta)}.os-btn-brand:hover:not(:disabled){background:var(--ds-brand-strong)}.os-btn-secondary{background:var(--ds-tile-brand-bg);color:var(--ds-brand-text)}.os-btn-ghost{color:var(--ds-brand-text);background:0 0;padding:10px 12px}.os-field{background:var(--ds-surface);border:1px solid var(--ds-border);width:100%;color:var(--ds-text);border-radius:12px;outline:none;padding:12px 14px;font-size:15px;transition:border-color .12s,box-shadow .12s}.os-field:focus{border-color:var(--ds-brand-icon);box-shadow:0 0 0 3px #7c5cff38}.os-label{color:var(--ds-text);font-size:13px;font-weight:600}.os-banner{border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.os-banner-alert{color:#b0324a;background:#d6456229}.os-banner-ok{background:var(--ds-tile-ok-bg);color:var(--ds-ok-text)}.os-spin{animation:.9s linear infinite os-spin}@keyframes os-spin{to{transform:rotate(360deg)}}.b2b-login-link{color:var(--ds-brand-text);font-weight:600;text-decoration:none}.b2b-login-link:hover{text-decoration:underline}
